从WebAPI返回PageResult不格式化为OData
我试图将基于WebAPI的应用程序从WebAPI RC迁移到发行版本。 它需要一些查询参数,并返回ATOM格式的OData。 由于它是一个正在运行的服务,我需要维护当前的行为。
我已经改变了API方法来返回一个带有我的数据的PageResult<T>
。 根据MSDN上的支持OData查询选项文章,这应该是我需要做的,但它不起作用。 我得到结果,但它总是格式化为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路由 - 格式化程序需要路由才能工作。
链接地址: http://www.djcxy.com/p/20399.html上一篇: Returning PageResult from WebAPI not formatting as OData
下一篇: WebAPI not returning XML even with correct Accepts header