OData是什么
Open Data Protocol(OData),程序数据库格式标准化的开放数据协议,以简单和标准的方法,建造或消除可查询和可操作的RESTful API,是用来查询和更新数据的一种Web协议,其提供了把存在于应用程序中的数据暴露出来的方式。Apache Olingo 是个 Java 库,用来实现OData。
OData产生契机
已知REST只是一种设计Web服务的思想,不是一种标准化的协议,因此会导致各家公布的RESTful API在统一通用方面的欠缺。OData就是为了弥补这种欠缺而被提出来的标准协议。
实施OData
如果需要实施OData服务,需要完成以下四个部分:
- OData模型
定义数据结构,一般发生在后端系统。
- OData协议
支持CRUDQ(创建,读取,修改,删除,查询)功能,数据的传输可以使用XML或者JSON。
- OData客户端库
保证了客户端能够使用库函数方便的访问OData服务。注意,客户端库并不是必须的,但是尽量有,这样可以节省大量的编码工作。
- OData服务
实现了OData协议,可以最终被客户端访问的服务。
- OData服务至少向外暴露一下三个接口:
1: {host}/: 获取实体列表
2: {host}/\(metadata: 获取实体元数据</p> <p> 3: {host}/{entityId}: 获取对应实体的数据 (标准查询参数: ?\)select=id,name&\(filter=id eq 1 and age gt 20)</p> <p>OData服务的结构</p> <ul> <li>服务文档(Service Document)</li> <li>服务元结构文档(Service Metadata Document)</li> </ul> <p>以上两种文档包含了:</p> <ul> <li>实体(Entity)</li> <li>实体类型(Entity Type)</li> <li>实体集合(Entity Set)</li> <li>属性(Property)</li> <li>导航属性(Navigation Property)</li> <li>关联(Association)</li> </ul> <p>OData的使用</p> <p>一、函数的使用</p> <ul> <li>contains(包含)\)filter=contains(Name,‘momo’)
二、\(filter运算符</p> <p>eq(等于);ne(不等于);gt(大于);ge(大于等于);lt(小于);le(小于等于);and(且);or(或);()(分组)</p> <p>三、\)orderby排序
四、$top,skip,inlinecount客户端换页
五、\(count数据量</p> <p>六、\)expand嵌入内容
七、\(format格式化</p> <p>八、\)select查询字段的列表(和sql中select后面的表达式一样)
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/14594.html