FromBody值为null

Hak*_*tuğ 8 c# http-post asp.net-web-api frombodyattribute

这是Asp.Net Webform应用程序
这是我的Apicontroller中的POST方法

public void Post([FromBody]string value)
{
}
Run Code Online (Sandbox Code Playgroud)

我正在使用提琴手后期处理.
我做了这样的实验.
但事实并非如此.

问题是什么.
你能帮我吗?

我试过了,我失败了.

public void Post(MyViewModel model)
{
   string aa = model.Value;
}

public class MyViewModel
{
   public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在提琴手:

Request Body:   
Value=hakan
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 20

Fiddler中的POST主体有效负载应该是:

=foo_bar
Run Code Online (Sandbox Code Playgroud)

代替:

value=foo_bar
Run Code Online (Sandbox Code Playgroud)

这只是关于Web API中模型绑定的一些奇怪的事情.如果要支持value=foo_barPOST主体有效负载,可以始终编写视图模型:

public class MyViewModel
{
    public string Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后让您的方法将此视图模型作为参数:

public void Post(MyViewModel model)
{
    ... work with model.Value here as usual
}
Run Code Online (Sandbox Code Playgroud)

  • 您是否在Fiddler中将`Content-Type`请求标头设置为`application/x-www-form-urlencoded`? (3认同)

小智 10

我遇到了这个问题,解决方案是:
要适合Request Body格式= foo_bar,
还需要Request haders:

Content-Type: application/x-www-form-urlencoded
Run Code Online (Sandbox Code Playgroud)