C# 如何允许.NET web api中的所有内容类型请求头?

C# 如何允许.NET web api中的所有内容类型请求头?,c#,asp.net-web-api,content-type,request-headers,mediatypeformatter,C#,Asp.net Web Api,Content Type,Request Headers,Mediatypeformatter,我使用的是.NETWebAPI框架,希望确保所有请求都被序列化/反序列化为JSON,而不管请求上的内容类型头是什么 这是我的代码: configuration.Formatters.Clear(); var formatter = new JsonMediaTypeFormatter(); formatter.UseDataContractJsonSerializer = true; formatter.SupportedMediaTypes.Add(new MediaTypeHeaderVal

我使用的是.NETWebAPI框架,希望确保所有请求都被序列化/反序列化为JSON,而不管请求上的内容类型头是什么

这是我的代码:

configuration.Formatters.Clear();
var formatter = new JsonMediaTypeFormatter();
formatter.UseDataContractJsonSerializer = true;
formatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/octet-stream"));
configuration.Formatters.Add(formatter);

添加“application/octet stream”作为支持的类型说明了调用方不提供内容类型头的情况。然而,当调用方使用“text/plain”、“text/html”等时,我想使用这个格式化程序。目前,这些头生成415响应。我没有一个详尽的列表,我只想允许任何内容类型的标题。这可能吗?

据我所知,您无法在请求中跳过此标头,因此如果错过此标头,将使用默认值。如果我们谈论允许所有类型,那么有一个现有类型的列表。我没有找到合适的。