从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