java odata_OData的初步认识及使用

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: 获取实体元数据

3: {host}/{entityId}: 获取对应实体的数据  (标准查询参数:  ?$select=id,name&$filter=id eq 1 and age gt 20)

OData服务的结构

服务文档(Service Document)

服务元结构文档(Service Metadata Document)

以上两种文档包含了:

实体(Entity)

实体类型(Entity Type)

实体集合(Entity Set)

属性(Property)

导航属性(Navigation Property)

关联(Association)

OData的使用

一、函数的使用

contains(包含)$filter=contains(Name,'momo')

not contains(不包含)

startswith(以xx开头)

endswith(以xx结尾)

length(字符长度等于x)

indexof(字符长度等于x索引为n开始包含xx字符)

replace(替换)

substring(从第n个字符开始)

tolower(转换为小写)

toupper(转换为大写)

trim(去空格后)

二、$filter运算符

eq(等于);ne(不等于);gt(大于);ge(大于等于);lt(小于);le(小于等于);and(且);or(或);()(分组)

三、$orderby排序

http://localhost:5000/userInfo?$orderby=name desc,EventName asc

四、$top,skip,inlinecount客户端换页

http://localhost:5000/userInfo?$top=5&$skip=1&$inlinecount=allpages

五、$count数据量

六、$expand嵌入内容

七、$format格式化

八、$select查询字段的列表(和sql中select后面的表达式一样)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值