加入收藏 | 设为首页 | 会员中心 | 我要投稿 莱芜站长网 (https://www.0634zz.com/)- 云连接、建站、智能边缘云、设备管理、大数据!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – 可以从Request对象获取当前的MediaTypeFormatter吗?

发布时间:2020-09-21 14:25:13 所属栏目:asp.Net 来源:互联网
导读:我想从请求对象中获取MediaTypeFormatter,这可能吗? 因此,如果请求作为一个 application/json 那么我想得到MediaTypeFormatter,在这种情况下,它应该是一个JsonMediaTypeFormatter. 我需要这样做的原因是我的api方法可以支持MediaTypeFormatters(即XML和JSON)

我想从请求对象中获取MediaTypeFormatter,这可能吗?

因此,如果请求作为一个

application/json

那么我想得到MediaTypeFormatter,在这种情况下,它应该是一个JsonMediaTypeFormatter.

我需要这样做的原因是我的api方法可以支持MediaTypeFormatters(即XML和JSON).

我正在返回一个HttpResponseMessage并将Content设置为ObjectContent,我需要传入媒体类型格式化程序,如果我将此值硬编码为json,那么它将不支持xml.

有人做过这样的事吗?

提前致谢

解决方法

您应该使用Request.CreateResponse方法.不要试图根据媒体类型找出格式化程序. ASP.NET Web API为您进行内容协商.如果请求带有品质因数和东西怎么办?编写所有逻辑会很复杂,并且已经在框架代码中完成了.你所要做的就是使用这样的方法 – Request.CreateResponse(HttpStatusCode.OK,product);并返回响应对象,而不是自己设置ObjectContent.根据从conneg中选择的格式化程序,您的对象将被序列化.或者,您是否有特定的场景,您不能使用它?

(编辑:莱芜站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读