ASP.NET WebAPI - [FromBody] 的问题

ASP.NET WebAPI - Issues with [FromBody]

我希望实现一个新的 API,但我没有选择 PHP 的惯用路线,而是选择了 C#。

我对 'MVC 4 API' 示例进行了一些尝试,但到目前为止我似乎无法让我的请求正常工作。

我创建了一个名为 'Values' 的控制器并具有以下方法:

[HttpPost]
public void Post([FromBody]string value)
{
    string body = value;
}

然后我通过 fiddler 向 API 发送了以下 POST 请求:

User-Agent: Fiddler
Host: localhost:56501
Content-Length: 10
Content-Type: application/x-www-form-urlencoded; charset=UTF-8

value=test

在 运行 这之后,看起来好像正在调用该方法,但是当试图通过正文发送 'value' 时,它似乎没有接收到它并且相反给了我一个空值。

我似乎无法让它为 Content-Type: application/x-www-form-urlencoded 工作,但它应该同时工作:)

User-Agent: Fiddler
Host: localhost:56501
Content-Length: 6
Content-Type: application/json; charset=UTF-8

"test"

所以我发现如果你需要让它与 application/x-www-form-urlencoded 一起工作,那么你只需要将 =value 作为请求的主体传递。绝对奇怪,但我想这不是 MVC,它是 WebApi,所以无论如何你都不应该传递 application/x-www-form-urlencoded ;)