【发布时间】:2014-06-11 15:06:27
【问题描述】:
我正在测试一个使用 OData 和 EF 以从 SQL Server 视图返回结果的 Web API 项目。花了一段时间,但我终于让它工作了。接下来我想做的是使用不同的格式化程序来返回结果。
根据this link,我应该可以使用 $format 参数来选择 atom、json 和 xml。但是这个参数似乎被忽略了。再挖掘一些我发现类似于this one 的文章说你必须添加命令以允许 $format 参数工作但我没有提到我在其他几篇文章中找到的“Configuration.Formatters.XmlFormatter.AddQueryStringMapping” .例如,我已经看到了使用 Fiddler 进行测试和更新以返回 JSON 的参考,但我想使用 $format,因此我也可以在 SSIS 中提取不同的格式。
我找到的最接近的是post,但除了 Fiddler 之外,没有针对 XML 的解决方案,而且 JSON $format 命令对我不起作用。我认为在过去的 4 个月里情况可能发生了变化。
有没有办法让 $format 与 XML 一起工作?
【问题讨论】:
-
我不确定我是否想将此标记为解决方案,但实现此工作的一种非常糟糕的方法是删除 JSON 作为选项。在 WebApConfig 中,我可以添加命令 config.Formatters.Remove(config.Formatters.JsonFormatter),这会将 JSON 作为默认设置并返回 XML。但是,就像我说的,这似乎是一个糟糕的解决方案。
-
according to this SO answer 如果您使用的是 OData v4 - 您根本无法做到 - 但如果您弄明白了请回复。
标签: odata asp.net-web-api asp.net-web-api2