如何解决OData 连接服务如何处理类型
也许我遗漏了一些东西,但我不断收到对象反序列化的异常。我认为这是因为 @odata.context
与 @odata.type
例如,如果我执行 GET ~/MediaFiles
这是响应:
{
"@odata.context": "https://MyServer/odata/v1/$Metadata#MediaFiles/ServerNamespace.Media.MediaFile","value": [
{
"@odata.type": "#ServerNamespace.Media.MediaFile",....
}
]
}
但是如果我查看元数据:
<EntitySet Name="MediaFiles" EntityType="ServerNamespace.Media.FileItemInfo"/>
错误发生在 DataServiceQuery.Take(10)
上,给出异常
InvalidOperationException:
The response payload is a not a valid response payload. Please make sure that the top level element is a valid Atom or JSON element or belongs to 'http://docs.oasis-open.org/odata/ns/data' namespace.
是的,我检查了正文是否是有效的 JSON 以及标题是否正确。
如您所见,MetaData 描述了 FileItemInfo
的类型,而响应 JSON 的类型为 MediaFile
在有人问之前,不,我无法更改或调试服务器代码,因为这是第三方。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。