美文网首页
Odata 学习

Odata 学习

作者: 做一只有趣的芦苇 | 来源:发表于2023-08-29 08:56 被阅读0次

【部分内容转自知乎 https://zhuanlan.zhihu.com/p/56639241

之前工作中没有遇到odata , 这个概念在学校里可能不常见,在业界有部分公司会使用该协议,尤其是在与微软进行合作的公司和部门里基本上是需要掌握的。

OData协定,英文全名是Open Data Protocol(OData),它是一个开源的协定,以简单和标准的方法,来建造或消除可查询和可操作的RESTful API。它创始于2007年的微软公司。版本1.0, 2.0, 和3.0发行在微软开放规格承诺书(Microsoft Open Specification Promise)。4.0版交由OASIS在2014年3月定出标准。2015年4月,OASIS进一步送出OData v4和OData JSON格式,v4被ISO/IEC JTC 1争取成为国际标准

举个例子:假设A组织,B组织都实现了Restful API来通过工号查询人员信息,因为没有统一的规范。

A的API 可能是这样:https://A/api/person/001
B的API 可能是这样:https://A/api/person/id=001

第三方客户端在实现远程调用的时候就必须考虑这些API的差异,分别查看A,B的API文档。

如果有个权威性协议作为规范做指导,规定这个API应该实现成下面这样,那么第三方客户端也只需按照这个标准去调用远程API,而不用查看A,B的API文档:

https://A/api/person/{001}

使用举例: 假设我的 baseurl = abc.com/api/data/v9.2

  1. 查询一个名字叫 dog 的entity 集合
    baseurl/dogs
  2. 查询这个entity 集合中某个特定的entity, 需要用到能够唯一识别一个enitity的主键以及这个主键的值
    baseurl/dogs(uniqueid=XXX) 或者 baseurl/dogs(XXX)
  3. 查询符合一些条件的entity 集合
    baseurl/dogs?$filter= name eq 'biff'
    关于这里的eq可以从这里看到所有支持的关键字 https://learn.microsoft.com/en-us/odata/concepts/queryoptions-overview
    基本上有 eq ne gt ge lt le and or notendswith in
    官方文档 https://learn.microsoft.com/en-us/odata/concepts/queryoptions-overview
    参考一个文档,总结了一些基本的操作 https://www.cnblogs.com/ellie-test/p/7027462.html

相关文章

网友评论

      本文标题:Odata 学习

      本文链接:https://www.haomeiwen.com/subject/zmsnmdtx.html