Post参数始终为null

ianrathbone

自从为WebAPI升级到RC以来,在WebAPI上调用POST时遇到了一些真正的奇怪问题。我什至回到了在新项目上生成的基本版本。所以:

public void Post(string value)
{
}

并从Fiddler致电:

Header:
User-Agent: Fiddler
Host: localhost:60725
Content-Type: application/json
Content-Length: 29

Body:
{
    "value": "test"
}

当我调试时,字符串“值”从未分配。始终为NULL。有人遇到这个问题吗?

(我首先看到了一个更复杂的类型的问题)

该问题不仅限于ASP.NET MVC 4,在RC安装后,对于新的ASP.NET MVC 3项目也会发生相同的问题

吉姆·哈特

由于您只有一个参数,因此可以尝试使用[FromBody]属性来装饰它,或者更改方法以接受具有值作为属性的DTO,如我在此处建议的那样:MVC4 RC WebApi参数绑定

更新:官方ASP.NET网站今天进行了更新,并提供了很好的解释:https : //docs.microsoft.com/zh-cn/aspnet/web-api/overview/advanced/sending-html-form-data-part- 1个

简而言之,当在正文中发送单个简单类型时,仅发送以等号(=)为前缀的值,例如body:

=test

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章