Asp.net mvc ASP.NET Core 2中的默认输入格式化程序
在ASP.NET Core 2应用程序中,我有一个带有Asp.net mvc ASP.NET Core 2中的默认输入格式化程序,asp.net-mvc,asp.net-core-mvc,Asp.net Mvc,Asp.net Core Mvc,在ASP.NET Core 2应用程序中,我有一个带有[FromBody]属性的操作。ASP.NET引擎将参数从JSON主体转换为模型对象 但只有当请求的内容类型设置为application/json时,它才起作用。如果未设置标头,则返回415(不支持的媒体类型)HTTP错误 如何将[FromBody]绑定的默认格式化程序设置为JSON,这样即使未设置内容类型请求头,它也会绑定模型?如果未指定内容类型,则默认内容类型为“text/plain”。您可以使用以下代码强制应用程序将负载视为json内容
[FromBody]
属性的操作。ASP.NET引擎将参数从JSON主体转换为模型对象
但只有当请求的内容类型
设置为application/json
时,它才起作用。如果未设置标头,则返回415(不支持的媒体类型)HTTP错误
如何将
[FromBody]
绑定的默认格式化程序设置为JSON,这样即使未设置内容类型
请求头,它也会绑定模型?如果未指定内容类型,则默认内容类型为“text/plain”。您可以使用以下代码强制应用程序将负载视为json内容
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc(config =>
{
foreach (var formatter in config.InputFormatters)
{
if (formatter.GetType() == typeof(JsonInputFormatter))
((JsonInputFormatter)formatter).SupportedMediaTypes.Add(
Microsoft.Net.Http.Headers.MediaTypeHeaderValue.Parse("text/plain"));
}
}
);
}