我正在尝试启动并运行Web API OData V4端点.
我终于得到了它(在从我的端点删除所有DateTime属性之后),现在实体的列表是JSON.
我喜欢JSON,但我使用LinqPad来测试我的端点.它不理解我的Feed中实体列表的JSON.
我看起来似乎无法找到一种方法将其更改回XML,所以我在这里问.
有没有办法让Web API OData v4提要的实体列表是XML而不是JSON?
很抱歉发布另一个答案,但我的第一个答案太长了.
我找到了这个链接: V4 always returns Json,果然,最后一个建议确实有效:
原文链接:https://www.f2er.com/xml/292338.html我找到了这个链接: 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架构,并且无法正确连接到此端点.