我找到了一个blog post,它显示了如何以字符串形式接收POSTed JSON。
我想知道在Controller中的REST Post方法中执行与以下代码相同的新原生方式是什么:
public async Task<HttpResponseMessage> Post(HttpRequestMessage request)
{
var jsonString = await request.Content.ReadAsStringAsync();
// Do something with the string
return new HttpResponseMessage(HttpStatusCode.Created);
}
另一个选项对我来说不起作用,我想因为我在请求标题中没有使用Content-Type: application/json
(不能改变它),我得到了415。
public HttpResponseMessage Post([FromBody]JToken jsonbody)
{
// Process the jsonbody
return new HttpResponseMessage(HttpStatusCode.Created);
}
答案 0 :(得分:3)
在.Net Core中,他们已经合并了Web API和MVC,因此您可以使用IActionResult
或其中一个衍生产品来执行此操作。
public IActionResult Post([FromBody]JToken jsonbody)
{
// Process the jsonbody
return Created("", null);// pass the url and the object if you want to return them back or you could just leave the url empty and pass a null object
}