【发布时间】:2014-11-03 23:59:53
【问题描述】:
WEBAPI 控制器是否可以返回 JSON,即使标头“Content-Type”不存在?
在默认设置中,当标头不存在时,会引发异常“No MediaTypeFormatter is available to read an object of type ...”。
【问题讨论】:
标签: c# asp.net .net json asp.net-web-api
WEBAPI 控制器是否可以返回 JSON,即使标头“Content-Type”不存在?
在默认设置中,当标头不存在时,会引发异常“No MediaTypeFormatter is available to read an object of type ...”。
【问题讨论】:
标签: c# asp.net .net json asp.net-web-api
将此添加到您的WebApiConfig.cs
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html") );
现在您会得到 json 结果,除非您将 text/xml 作为“Content-Type”发送
【讨论】:
通常 web api 可以返回 xml 格式和 json 格式,因此在调用 web api 时需要在 header 中指定内容类型。
【讨论】:
这样做是可能的。只需将默认序列化程序更改为Json Serializer。更多细节解释here。
注意:WebApi 的默认序列化程序是Json Serializer。因此,即使在请求中没有找到内容类型标头,您也应该以json 格式获得响应。
【讨论】: