我正在尝试启动并运行Web API OData V4端点.
我终于得到了它(在从我的端点删除所有DateTime属性之后),现在实体的列表是JSON.
我喜欢JSON,但我使用LinqPad来测试我的端点.它不理解我的Feed中实体列表的JSON.
我看起来似乎无法找到一种方法将其更改回XML,所以我在这里问.
有没有办法让Web API OData v4提要的实体列表是XML而不是JSON?
很抱歉发布另一个答案,但我的第一个答案太长了.
我找到了这个链接: V4 always returns Json,果然,最后一个建议确实有效:
我找到了这个链接: V4 always returns Json,果然,最后一个建议确实有效:
在WebAPiConfig中,将命名空间引用添加到:
using System.Net.Http.Formatting; using System.Web.OData.Formatter;
然后添加如下内容:
var formatters = ODataMediaTypeFormatters.Create(); config.Formatters.InsertRange(0,formatters);
实体列表现在以xml的形式返回.
缺点是,现在所有的响应都默认为不太优选的,冗长的xml / atom.
好处是,$格式请求现在在v4中受到尊重.所以要回到json,你可以发出url(不会弄乱标题):
http://< myodataurl>?$format = application / json; odata.metadata = full(或minimal或none)
但是,如前所述,LinqPad仍然无法识别v4架构,并且无法正确连接到此端点.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。