gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 06:52:12 26 4
gpt4 key购买 nike

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

因此,如果请求是作为

    application/json 

那么我想获取MediaTypeFormatter,在这种情况下,它应该是JsonMediaTypeFormatter。

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

我返回HttpResponseMessage并将Content设置为ObjectContent,并且我需要传递媒体类型格式化程序,如果我将该值硬编码为json,则它将不支持xml。

有人做过这样的事情吗?

提前致谢

最佳答案

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

关于asp.net-web-api - 从Request对象获取当前的MediaTypeFormatter,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21405720/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com