C# WebAPI传递的post参数为null
我正在使用WebAPI 2进行测试,并创建了以下控制器方法C# WebAPI传递的post参数为null,c#,asp.net-web-api2,C#,Asp.net Web Api2,我正在使用WebAPI 2进行测试,并创建了以下控制器方法 // POST api/values public string Post([FromBody] string value) { string returnValue = "Return: " + value ; return returnValue; } 当我使用fiddler发布以下消息时,方法参数始终返回null POST http://localhost:50814/api/Values/ HTTP/1.1 H
// POST api/values
public string Post([FromBody] string value)
{
string returnValue = "Return: " + value ;
return returnValue;
}
当我使用fiddler发布以下消息时,方法参数始终返回null
POST http://localhost:50814/api/Values/ HTTP/1.1
Host: localhost:50814
Content-Type: application/json
Content-Length: 14
{value: "New"}
我已经尽可能简化了我的代码,但它仍然保持为空
我想我忽略了一些非常简单的事情,但我没有想法。谁能帮帮我吗
感谢Sander如果您从控制器的Post方法中获取一个简单字符串,请尝试发送以下内容:
POST http://localhost:50814/api/Values/ HTTP/1.1
Host: localhost:50814
Content-Type: application/json
Content-Length: 10
"MyString"
不客气。为了处理您提出的请求,您可以添加一个伪对象,如
public class MyDummy{public string value{get;set;}}
,并将方法头更改为public string Post([FromBody]MyDummy MyDummy)
。我也遇到了这个问题。今晚我要试试这个办法。但我想知道为什么这是个问题?这是一个有约束力的问题吗?如果方法参数被称为“value”,并且装饰特别指出它来自消息体,为什么它不能读取它呢?