ASP.NET Web API 2.0参数为空

问题描述:

我知道已经问了很多时间,我试过了所有的东西,但仍然面临问题。这里是我的代码:ASP.NET Web API 2.0参数为空

// POST api/<controller> 
    public string Post([FromBody]string value) 
    { 
     return value; 
    } 

没有什么花哨只是返回值。 我正在使用Chrome的PostMan插件 我已经尝试了100次,但仍然获得与响应相同的空值。我已经尝试过Content-Type application/json和所有提到的内容,但仍然为空。

+0

那么,你是怎么称呼它的?问题显然不在您发布的代码中。 – Amy

+0

向我们展示您发送的内容。 – trashr0x

+0

谢谢,我的问题已解决,问题出在我发送的对象上。 –

不太确定问题是什么,但是您正在寻找的是使用单个值设置您的POST

如下面:

POST /api/values HTTP/1.1 
Host: localhost:50121 
Content-Type: application/json 
Accept: application/json, text/javascript 
Cache-Control: no-cache 

'abc' 

现在,这是一个JSON后使人体没有一个参数的名字,这是由设计,你要发送一个单值。

如果您需要多个值或更复杂的对象,则应使用class对象而不是单个值。 HeadersBody

+0

我不认为接受将解决问题接受是用来告诉服务器发送给我这种形式的回复 –

+1

'接受'不解决它。然而'Content-Type'和请求体的设置确实如此。 “Accept”头将帮助Web Api确定调用的结果。在这种情况下再次没有轴承。 https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/content-negotiation – Nico

+0

非常感谢。由于*上的所有问题都是关于复杂的json,所以我很难理解如何发送一个简单的字符串。我正在这样做 值:“Hello World” } 而不是“Hello World” –