我使用Visual Studio 2015创建了新的ASP.Net Web API项目,在通过 Fiddler 测试 POST 命令的同时,我得到了201无内容的响应。 之后,当我在fiddler上使用 GET 命令时,不会保存新值。 我不是发布它只是在调试模式下运行。
static List<string> Strings = new List<string>() {
"value0", "value1", "value2"
};
// GET api/values
public IEnumerable<string> Get()
{
return Strings;
}
// POST api/values
public void Post([FromBody]string value)
{
Strings.Add(value);
}
答案 0 :(得分:1)
我认为问题是因为没有返回值void
根据asp.net:
https://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/action-results
如果返回类型为void,则Web API只返回状态代码为204(无内容)的空HTTP响应。
答案 1 :(得分:0)
您的代码为我工作并添加到列表中。确保您发送的内容类型application/json
为'the string'
(我使用Postman测试POST)。
您将获得201,因为Get方法无效,但这并不意味着POST无效。如果您想要回复某些内容,可以在“添加到”列表之后将返回类型更改为IHttpActionResult
和return Ok(Strings)
,这将返回列表并返回200状态。您甚至可以将一些代码放入检查列表中添加工作然后返回Ok()或BadRequest()。