【问题标题】:Returning JSON from WCF Web API从 WCF Web API 返回 JSON
【发布时间】:2011-09-13 20:46:28
【问题描述】:

WCF Web API 根据请求标头中的 Accept 参数返回 XML 或 JSON 数据,而不考虑我们是否在 WebInvoke/WebGet 属性中设置了 ResponseFormat=WebMessageFormat.Json。这是 API 的正确行为还是错误?

【问题讨论】:

    标签: wcf-web-api


    【解决方案1】:

    WCF Web API 忽略 ResponseFormat 属性。该属性之所以存在,是因为它努力与以前的 WCF REST 努力向后兼容。 返回的媒体类型主要基于客户端发送的 Accept 标头。

    【讨论】:

    • 是否可以忽略 Accept 标头并始终从服务器返回特定的媒体类型(如 JSON)?
    • @Mark 如果你返回一个 HttpRequestMessage 那么你就没有问题了。如果你返回一个 DTO,那就有点棘手了。如果返回 ObjectContent,则可以将媒体类型传递给构造函数。
    • @Mark 您可以清除/删除 MediaTypeFormatters,以便只保留您想要的那个。
    • @OffBySome 你能发布一些关于如何清除/删除 mediatypeformatters 并始终从服务器返回 JSON 的代码示例
    • @Mark,另一种选择是添加一个消息处理程序来更改请求的 Accept 标头。
    猜你喜欢
    • 2014-12-15
    • 2020-02-05
    • 2011-08-27
    • 2012-01-09
    • 2013-09-21
    • 1970-01-01
    • 2019-05-24
    • 2019-03-16
    • 2019-04-22
    相关资源
    最近更新 更多