OData 协议
OData一个开放的协议以一种简单规范的方式来创建和消费可查询和可协作的RESTful APIS。
查询,分页,排序在GET的Request请求中以键值对的方式传递。
1、offset,$limit 完成分页查询
example.com?$offset=0 => 偏移量为0。
example.com?$limit=15 => 每页个数为15。
example.com?$offset=0&$limit=15 => 偏移量为0,每页个数为15。
(1)操作符
2、$filter 完成条件查询
eq 表示『相等』; example.com?$filter=age eq 10 => 查询age等于10的记录
like 表示『模糊查询』; example.com?$filter=name like xxx => 查询对name进行模糊匹配的记录
gt 表示『大于』; example.com?$filter=age gt 10 => 查询age大于10的记录
lt 表示『小于』;example.com?$filter=age lt 10 => 查询age小雨10的记录
(2)逻辑组合
and 表示『且』;example.com?$filter=name like xxx and age eq 10 => 查询age等于10且对name进行模糊匹配的记录
or 表示『或』;example.com?$filter=name like xxx or age eq 10 => 查询age等于10或对name进行模糊匹配的记录
总结:格式是 单个条件=属性名 操作符 值 ;$fitler= 单个条件 [逻辑 单个条件...]
3、$orderby 完成排序查询
desc 降序;example.com?$orderby=createdAt desc => createdAt 字段倒序
asc 升序;example.com?$orderby=updatedAt asc => updatedAt 字段增序
总结:格式是$orderby=属性名 asc|desc
4、返回结构
返回JSON对象,结构体如下:
默认情况,无count(总数)
{
"items":[
......
]
}
需要count,则代码查询条件$count=true;example.com?$count=true
{
"items":[
......
],
"count":10
}