【问题标题】:OData Standard element namesOData 标准元素名称
【发布时间】:2017-05-08 00:19:08
【问题描述】:

我一直在研究 OData 标准,并希望更新我的服务以提供此标准并使用它。我知道对于 XML,它使用 ATOM XML 标准,因此元素的名称,例如 id、title、author 等,必须完全符合 Atom 标准。 OData 的 JSON 格式对其元素有不同的名称。是否需要这样,或者我可以让我的 JSON 结构对其元素使用与 Atom XML 结构相同的名称吗?

一个例子是链接 - 在 Atom 中它被称为链接,具有 href 和 rel 属性。此元素的 JSON 名称是 __metadata,键是 uri。这些名称似乎是标准的,无法更改。我想知道根元素、__metadata、资源等是否是标准的,但内部元素可能更灵活。就像 Atom 的 title 元素对应 JSON 结构中的 name 元素一样,我可以保持 JSON 结构使用 title 而不是 name 吗?

【问题讨论】:

    标签: json odata atom-feed


    【解决方案1】:

    开头提到的 JSON 名称是标准的一部分,不能更改(否则客户端将无法理解负载 OData JSON)。这适用于几乎所有以双下划线开头的东西(如 __metadata、__deferred 等)。 _metadata 属性(或任何其他 _ 属性)的值也由标准定义,并且应该与标准完全匹配。还有其他几个地方的名称是由标准定义的,只需通读即可。 标准未定义的属性通常被视为 OData 属性,因此这些属性由您通过 OData 公开的模型定义(它们与 OData ATOM 中 m:properties 元素下的元素相同)。因此,通过更改 OData 模型,这些在某种程度上是可定制的,但随后您将同时更改 ATOM 和 JSON 格式。

    【讨论】:

    • 在 get 请求中,响应看起来很直接,这很好,因为我们可以提供如何获取更具体数据等的链接。对于 post 或 put,它看起来像传入的 body将是一个条目(Atom)或一个资源(JSON)。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2021-05-28
    • 1970-01-01
    相关资源
    最近更新 更多