我在发帖到我的WebAPI时遇到了麻烦。
[RoutePrefix("api/Test")]
public class TestController : ApiController
{
// GET: api/Test
[Route]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
[Route]
public void Post([FromBody]string value)
{
Debugger.Break();
}
PostTest(){
alert("Post Test Starting");
var data = new FormData();
data.set('value','test');
//var data = {'value': 'test'};
this.CallAxios('post', 'http://localhost:10000/api/Test/', data, axiosHeaders);
},
CallAxios(callMethod, callURL, callData, callHeaders)
{
axios({
method: callMethod,
url: callURL,
data: callData,
headers: callHeaders
}).then((response) => {
alert(response.data)
})
}
因此,即使我为内容类型指定了application/json,它仍然被理解为multipart/form-data
如果将vue.js代码切换为使用“var data={'value':'test'}”,并从.NET Post参数中删除[FromBody]属性,则会收到以下405“method Not alloved”错误:
{“消息”:“请求的资源不支持http方法'post'。”}
有两种方法可以实现这一点(这两种方法都不使用FormData)
1)发送为content-type:application/x-www-form-urlencoded。要做到这一点,您需要使用像qs这样的库对参数进行URL编码。但是,请注意这个特殊的WebAPI警告(空密钥名)
import qs from 'qs';
let myValue = 'FontSpace'
let options = {
url: '/api/fonts'
, method: 'post'
, data: qs.stringify({ '': myValue })
}
let response = await this.$http(options)
如果在devtools中检查请求,您将看到参数被编码为
let myValue = 'FontSpace'
let options = {
headers: { 'Content-Type': 'application/json' }
, url: '/api/fonts'
, method: 'post'
, data: JSON.stringify(myValue)
}
let response = await axios(options)
这篇文档很有帮助
当参数具有[FromBody]时,Web API使用Content-Type头来选择格式化程序。在本例中,内容类型是“application/JSON”,请求主体是一个原始JSON字符串(而不是JSON对象)。
当我将我的follower对象发布到我的rest调用时,我得到了一个415错误,但我不明白为什么?我没有添加dao和其他值的私有字段,因为它是一个更大的文件,我在这篇文章中只放了调用、客户端和http处理程序的代码。 错误消息: 正在向URL发送“POST”请求:http://localhost:8080/KwetterBart-web/api/user/startfollow响应代码:415Ja
问题内容: 这是我认为的Java纯粹主义者之一。最近,我遇到了一种将字符串值自定义解析为布尔值的方法的问题。一个足够简单的任务,但是由于某种原因,以下方法在空情况下抛出NullPointerException…… 该方法的返回类型为布尔值,那么为什么或如何引发NullPointerException?从调试开始,似乎在嵌套的嵌入式条件语句评估为null并向外部嵌入式条件语句返回null的时候抛出了
我已经设置了一个AWS Lambda函数,并试图从前endpoint击它。它在浏览器中工作得很好,并返回我期望的响应。当我尝试从点击它时,我得到一个403。我试图按照这里和这里概述的步骤(没有像一些评论者提到的那样吹走我的整个API),但没有效果。我在所有变化后重新部署。启用CORS后,我不再获得403,而是获得415。不确定下一步该做什么,因为Cloudwatch日志中没有任何内容。 更多细节:
我正在使用Node js验证到Azure AD以创建Data Lake存储帐户,它会登录,但对于帐户创建,它会给出错误:代码:'Invalid验证令牌租户',消息:'访问令牌来自错误的发行者\'https://sts.windows.n et\'。它必须匹配与此子描述关联的租户\'https://sts.windows.net/\'。
问题内容: 我想使用排球库发布布尔值,双精度数据。我不知道如何使用它。还有其他任何过程吗?谢谢。 这是我的方法。 问题答案:
我正在尝试运行这里提供的kotlin代码的测试:https://github.com/ligi/ipfs-api-kotlingradlew 我收到了下面列出的错误。有人能告诉我这个错误是什么意思吗?