Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WebAPI传递的post参数为null_C#_Asp.net Web Api2 - Fatal编程技术网

C# WebAPI传递的post参数为null

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

我正在使用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
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”,并且装饰特别指出它来自消息体,为什么它不能读取它呢?