加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

.net – 以XML格式获取Web API OData v4的OData目录

发布时间:2020-12-16 07:44:28 所属栏目:百科 来源:网络整理
导读:我正在尝试启动并运行Web API OData V4端点. 我终于得到了它(在从我的端点删除所有DateTime属性之后),现在实体的列表是JSON. 我喜欢JSON,但我使用LinqPad来测试我的端点.它不理解我的Feed中实体列表的JSON. 我看起来似乎无法找到一种方法将其更改回XML,所以
我正在尝试启动并运行Web API OData V4端点.

我终于得到了它(在从我的端点删除所有DateTime属性之后),现在实体的列表是JSON.

我喜欢JSON,但我使用LinqPad来测试我的端点.它不理解我的Feed中实体列表的JSON.

我看起来似乎无法找到一种方法将其更改回XML,所以我在这里问.

有没有办法让Web API OData v4提要的实体列表是XML而不是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架构,并且无法正确连接到此端点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读