4

我正在尝试将基于 WebAPI 的应用程序从 WebAPI RC 迁移到发布版本。它接受一些查询参数,并返回 ATOM 格式的 OData。由于它是一个正在运行的服务,我需要保持当前的行为。

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

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

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

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

4

1 回答 1

1

请阅读此博客文章以了解有关启用 OData 的信息:

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

您缺少 OData 路由 - 格式化程序需要该路由才能正常工作。

于 2013-03-27T20:11:45.873 回答