1

在查看来自一些 OData 提要的响应时,我发现它们的结构略有不同,具体取决于它们是否将内容类型设置为 application/xml 或 application/zip。这里有两个例子:

  1. 应用程序/压缩包
<content type="应用程序/zip" />
<m:属性>
  <d:Id>Simple.Data.Core</d:Id>
</m:属性
  1. 应用程序/xml
<内容类型="应用程序/xml">
<m:属性>
  <d:ProductID m:type="Edm.Int32">1</d:ProductID>
</m:属性>
</内容>

它们都作为 AtomPub(OData 使用的标准 RSS 模式)发送,但如果内容的类型为“application/zip”,m:properties 元素与内容处于同一级别,如果它是“application/xml”,它是“内容”的子元素。根据 odata.org 上的 OData 规范,第二种格式是正确的。有谁知道为什么还使用第一种格式(甚至被 OData 客户端理解)?

提前致谢

4

2 回答 2

1

其实两者都是正确的。第一个(在内容之外具有 m:properties)表示根据 ATOMPUB 规范的媒体链接条目 (MLE)。此处描述了 MLE 的 OData 格式:http ://www.odata.org/developers/protocols/atom-format#RepresentingMediaLinkEntries 。第二个是普通的非 MLE 实体。

于 2011-09-06T08:02:57.430 回答
0

我在OData Google 组中收到了以下答案:

如果实体类型被标记为媒体链接条目,即它由媒体支持,则它的属性不存在于 atom:entry 元素的元素中。内容元素指向下载支持媒体的位置。这种实体的另一个例子是 Netflix 提要中的“Titles”集合。 http://odata.netflix.com/v2/Catalog/Titles?$top=1 您在下面提到您在 Atom 中解析此类实体类型时遇到问题,您如何解析 ATOM 提要?您是在使用我们的客户端库之一还是手动解析响应?

参考: https ://www.rfc-editor.org/rfc/rfc5023#page-25

Phani Raj Yayavaram Narasimha

于 2011-09-06T10:31:37.877 回答