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

c# – 从WebAPI返回PageResult而不是格式化为OData

发布时间:2020-12-15 21:49:21 所属栏目:百科 来源:网络整理
导读:我正在尝试将基于WebAPI的应用程序从WebAPI RC迁移到发布版本.它接受一些查询参数,并返回ATOM格式的OData.由于它是一个正在运行的服务,我需要保持当前的行为. 我已经更改了API方法以返回PageResult T我的数据.根据MSDN上的Supporting OData Query Options文
我正在尝试将基于WebAPI的应用程序从WebAPI RC迁移到发布版本.它接受一些查询参数,并返回ATOM格式的OData.由于它是一个正在运行的服务,我需要保持当前的行为.

我已经更改了API方法以返回PageResult< T>我的数据.根据MSDN上的Supporting OData Query Options文章应该是我需要做的全部,但它不起作用.我得到了结果,但它总是格式化为JSON.我已经尝试将Accept请求标头更改为application / atom xml,但它似乎没有任何区别.

我也尝试在我的WebApiConfig中添加以下行,没有明显的效果:

configuration.EnableQuerySupport();
configuration.Formatters.InsertRange(0,ODataMediaTypeFormatters.Create());

我尝试清除现有的格式化程序,只是为了看看会发生什么.我刚刚收到406 Not Acceptable错误.所以似乎OData格式化程序可能没有报告他们可以处理请求/响应?

解决方法

请浏览此博客文章,了解如何启用OData:

http://blogs.msdn.com/b/webdev/archive/2013/01/29/getting-started-with-asp-net-webapi-odata-in-3-simple-steps.aspx

您缺少OData路由 – 格式化程序需要路由才能工作.

(编辑:李大同)

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

    推荐文章
      热点阅读