【发布时间】:2012-12-28 19:55:59
【问题描述】:
我有一个 REST 服务,该服务有多个使用它的客户端,据我所知,该服务设置为仅在执行 POST/PUT 时接受 JSON(并且仅在所有调用中返回 JSON)。问题是在服务/帮助页面上,它同时显示了 JSON 和 XML 的示例。有没有办法删除所有额外的 XML 垃圾以免混淆用户(因为服务只接受 JSON)并且只在 /help 页面上显示 JSON 示例?这是我的 Web.config:
<standardEndpoints>
<webHttpEndpoint>
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="false" defaultOutgoingResponseFormat="Json" />
</webHttpEndpoint>
</standardEndpoints>
并且我的每个 GetGets/WebInvokes 都以 JSON 格式定义,例如:
[WebInvoke(UriTemplate = "/sample", BodyStyle = WebMessageBodyStyle.Bare, Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
那么,我还能做些什么来让服务知道它是 JSON 并删除我 /help 页面上的自动生成 XML 垃圾?
【问题讨论】:
-
我不确定您是否可以禁用帮助页面中的 XML 示例。看看Autodocs。您可能可以修改它以停止显示 XML 示例。
-
您可以编写自己的帮助文件并显示它,而不是使用框架默认生成的文件。
-
一定要看看我下面的答案......这里有很多错误信息。您可以使用自动生成的帮助页面并且让它不显示 XML。