【发布时间】:2014-02-19 18:13:00
【问题描述】:
我想从请求对象中获取 MediaTypeFormatter,这可能吗?
所以如果请求以
的形式出现 application/json
然后我想获取 MediaTypeFormatter,在这种情况下,它应该是 JsonMediaTypeFormatter。
我需要这样做的原因是我的 api 方法可以同时支持 MediaTypeFormatter(即 XML 和 JSON)。
我正在返回一个 HttpResponseMessage 并将内容设置为 ObjectContent,并且我需要传入媒体类型格式化程序,如果我将此值硬编码为 json,那么它将不支持 xml。
有人做过这样的事吗?
提前致谢
【问题讨论】:
-
Web API 框架会根据请求中发送的
Accept标头自动处理选择正确的 MediaTypeFormatter。除非您正在做一些特殊的事情,否则您无需担心在 API 方法中设置响应内容类型。让框架处理它;这就是它的设计目的。请参阅@Badri 的回答。
标签: asp.net-web-api json.net asp.net-web-api2