在查看一些ODATA提要的响应时,我发现它们的结构略有不同,具体取决于它们的内容类型设置为应用程序/XML或应用程序/ZIP。这里有两个例子:

  1. 应用程序/邮政编码
<content type="application/zip" /> 
<m:properties>
  <d:Id>Simple.Data.Core</d:Id> 
</m:properties
  1. 应用程序/XML
<content type="application/xml">
<m:properties>
  <d:ProductID m:type="Edm.Int32">1</d:ProductID>
</m:properties>
</content>

它们俩都以Atompub(odata使用的Stanard RSS架构)发送,但是如果内容具有类型为“应用程序/zip”,M:属性元素与内容相同,并且如果是“应用程序/xml”,它是“内容”的子元素。根据ODATA.org的ODATA规范,第二种格式是正确的。有谁知道为什么还使用了第一种格式(甚至是ODATA客户理解)?

提前致谢

有帮助吗?

解决方案

实际上两者都是正确的。根据Atompub规范,第一个(内容之外的M:属性)代表媒体链接条目(MLE)。此处描述了MLE的ODATA格式: http://www.odata.org/developers/protocols/atom-format#representingmedialinkentries。第二个是普通的非MLE实体。

其他提示

我收到以下答案 ODATA Google Group:

如果将实体类型标记为媒体链接条目,即它是由媒体支持的,则其属性不存在于Atom:输入元素的元素中。内容元素指向位置,以下载从中下载备用媒体。这种实体的另一个例子是Netflix的提要中的“标题”集合。http://odata.netflix.com/v2/catalog/titles?$ top = 1您在下面提到的是您在原子中解析此类实体类型时遇到了麻烦,您如何解析原子饲料?您是在使用我们的客户库之一,还是手工解析响应?

参考 :http://tools.ietf.org/html/rfc5023#page-25

Phani Raj Yayavaram Narasimha

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top