Odata的使用

Python025

Odata的使用,第1张

OData: 开放数据协议 (OData) 是一个查询和更新数据的Web协议。

$filter=contains(Name,'mumu')

Name中包含‘mumu’的所有信息,这样就达到了模糊查询的效果,只输入其中的几个字符便可查到所有包含这几个字符的信息

$filter=not contains(Name,'mumu')

Name中不包含‘mumu’的所有信息,与contains效果相反,是不包含

$filter=startswith(Name, 'mumu')

Name以mumu开头的所有信息

$filter=endswith(Name, 'mumu')

Name以mumu结尾的所有信息

$filter=length(Name) eq 7

Name中字符长度等于7的所有信息

$filter=indexof(Name, 'mumu') eq 7

Name从第八个字母开始包含mumu的所有信息

$filter=replace(Name, 'm', 'u') eq 'mumu'

Name等于mumu的信息中m被u替换

$filter=substring(Name, 1) eq 'mumu'

Name从第二个字符开始是mumu的所有信息

$filter=substring(Name, 1, 2) eq 'mu'

Name的第二个和第三个字符是mu的所有信息

$filter=tolower(Name) eq 'Mu'

Name等于Mu的字符都转换为小写

$filter=toupper(Name) eq 'Mu'

Name等于Mu的字符都转换为大写

$filter=length(trim(Name)) eq length(mu)

Name去调空格后依旧等于mu的所有信息

运算符列表

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

name 降序 ,然后 EventName 升序排列

http://localhost:5000/userInfo?$top=5

返回最多5条数据

和 top=5&$skip=1`

跳过第一条, 然后返回最多5条数据

分页取数据的时候,同时统计总记录数

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

以下url只想返回查询所有信息的EventName属性

http://localhost:5000/userInfo?$select=EventName

如果WagerInformation有一个User属性 其包含一个UserName那么查询username的url

http://localhost:5000/userInfo?$select=User/UserName

Olingo有服务端(实现OData协议)和客户端(封装OData服务 CRUD的application/atom+xml格式请求头+请求报文体).

使用EclipseLink的JPA实现来与数据库交互(后续还会与hibernate进行整合,hibernate2.3.2版本后就开始支持Olingo).