【发布时间】:2021-12-06 16:44:08
【问题描述】:
使用 .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());
下面是控制器的代码
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);
}
}
我无法弄清楚为什么仍然会抛出此错误。
【问题讨论】:
标签: asp.net-core asp.net-web-api2