Getting hold of raw POST data when using [FromBody]

谁说胖子不能爱 提交于 2019-12-01 16:45:19

You need to enable buffering the request body: services.Configure<FormOptions>(options => options.BufferBody = true); https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.AspNetCore.Http/Features/FormOptions.cs#L20

The most simple way I found to solve this issue is to use jObject as the Model. And send the request with Content-Type: application/json at the header.

Use something like NewtonSoft's json dll this:

[HttpPost]
public IActionResult Post([FromBody] jObject RequestData)
{
    string str = RequestData["key"];
    return Ok();
}

This worked for me

Nathan Zaetta

The request stream has already been read, so what you can do here is EnableRewind on the Request

See solution here for reading json from body. Same should apply to your issue.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!