使用 .Net Core 5,我已经使用运行 application/json 所需的必要包配置了我的应用程序。
使用 [FromBody] 参数属性,并使用 postman 发布数据会导致以下错误:
内容类型不正确:application/json
我已经在启动时使用 .AddNewtonsoftJson(...) 配置了 AddControllers(...) 方法。
services.AddControllers(options =>
{
options.Filters.Add(new ProducesAttribute("application/json"));
options.RespectBrowserAcceptHeader = true; // false by default
}).AddNewtonsoftJson(options =>
options.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver());
下面是来自 Controller 的代码
public async Task<IActionResult> Post([FromBody] ProjectRequest pr)
{
try
{
var proj = new Project
{
Id = Guid.NewGuid().ToString(),
Name = pr.Name,
Excerpt = pr.Excerpt,
Tags = pr.Tags
};
var resp = new
{
Data = "Project Added successfully"
};
return Ok(resp);
} catch(Exception e)
{
var br = new
{
Data = $"An error occured : {e.Message}"
};
return BadRequest(br);
}
}
我无法弄清楚为什么仍然抛出此错误。
最佳答案
你用postman发布数据是否正确,我的例子可以正常工作:
Controller : 发送数据后, Controller 接收数据
终于收到值了
{
"data": "Project Added successfully"
}
关于asp.net-core - .Net Core 5 Post Response 返回不正确的内容类型 : application/json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69636204/