OData 协议介绍和使用

本文深入解析OData协议,介绍如何使用简单的键值对方式完成RESTful API的查询、分页、排序及条件筛选。OData协议支持多种操作符如eq、like、gt、lt等进行精确或模糊查询,并可通过and、or进行逻辑组合。此外,还介绍了如何通过$orderby参数实现数据排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

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
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值