我有一个 Web API OData 项目,一切都运行良好。我现在尝试使用 $format 参数返回 xml 而不是 JSON,而不是指定标头请求,但它不起作用。我尝试过这些方法:
http://localhost:3845/api/Customer?$format=application/xml
http://localhost:3845/api/Customer?$format=xml
http://localhost:3845/api/Customer?$format=application/xml;odata.metadata=full
一切都没有成功。这篇文章说这是可能的:https://blogs.msdn.microsoft.com/webdev/2014/03/13/getting-started-with-asp-net-web-api-2-2-for-odata-v4-0/ https://blogs.msdn.microsoft.com/webdev/2014/03/13/getting-started-with-asp-net-web-api-2-2-for-odata-v4-0/
我已经更新了所有 NuGet 包,但似乎请求总是被忽略,而是每次都得到 JSON。
由于 ATOM 格式 (XML) 只是一个技术委员会规范,而不是 OData V4 协议的 OASIS 标准,因此 ATOM 格式在 ODataLib 中被禁用版本6.3.0 http://www.nuget.org/packages/Microsoft.OData.Core/6.3.0.
要求 OData V4 服务以 XML 进行响应的正确方法如下:
GET http://localhost:3845/api/Customer?$format=application/atom+xml
或设置标题Accept
to application/atom+xml
。但由于上述原因,它不适用于 Web API OData V4。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)