最小,只读实现的OData标准摘要

时间:2012-07-26 09:09:17

标签: json odata standards atom-feed atompub

OData specification很长。即使是“OData Core”文档也很长。

那么,对于只读OData发布者至少需要实现什么的精简摘要呢?

1 个答案:

答案 0 :(得分:5)

我会开始。 OData服务提供以下的HTTP端点:

  • 必须理解" Accept"头
  • 必须支持Content-Type标头,并且必须支持ATOM格式(可选JSON)
  • 可以将服务文档(集合列表)返回给GET /(10.1.1)
    • 如果是ATOM(AtomPub?)格式,则层次结构为service/workspace/collection/title
  • 必须将集合的描述返回给GET /Customers(10.2)之类的请求
    • 如果是ATOM,则层次结构为feed/entry/content
  • 必须将个别实体的描述返回给GET /Customers(3)(10.2.1)
  • 等请求
  • 可以为GET /Customers(3)/Name(10.2.2)
  • 等请求返回单个实体的各个属性
  • 必须提供包含在EDMX文档中的CSDL架构描述(10.1.2)
    • 这应该在/$metadata
    • 上提供
  • 可以支持任何这些查询(10.2.3)
    • 过滤器(限制返回的行):Products?$filter=Price lt 10.00
    • 选择(限制返回的字段):Products?$select=Rating,ReleaseDate
    • 订购:Products?$orderby=ReleaseDate asc, Rating desc
    • 顶部,跳过:Products?$top=5&$skip=2
    • InlineCount(包含实体计数):Products?$inlinecount=allpages
  • 必须(?)提供实体的关系列表(10.2.4):Products(0)/$links/Orders
  • 必须提供实体计数(10.2.5):Products/$count
  • 可以使用$format说明符(10.2.3.7)
  • 支持其他格式

当返回ATOM提要时(例如对于集合),它需要符合一些OData约定:http://www.odata.org/documentation/odata-v3-documentation/atom-format/例如:

  • 使用的类型是" edm:String"等
  • link元素被慷慨地使用
  • content元素包含内联内容(例如,文本数据),或链接到它(例如,图像,二进制文件)src=属性。

当返回JSON提要时,它同样遵循某些规则:

鼓励网址遵循此方案: