Skip to content

过滤信息

如果接口返回记录数量很多,不可能都将它们返回给用户。API 应该提供参数,过滤返回结果。

基本查询

在 URL 后,直接增加关键字进行查询,形如:

GET ?level=1&status=0

高级查询

随着业务复杂度增加,基本查询不能满足时,可以使用高级查询语法,增加关键字 q

例如:

GET ?q=user:kimchy

建议规则如下:

字段查询

支持字段查询。

例如:

status:active
title:(quick OR brown)

范围查询

支持范围搜索,可以指定最小值和最大值,形如:[min TO max]

  • {}尖括号表示开区间
  • []方括号表示闭区间

两者可以混合使用,例如:

age:{60,80]
date:[1325376000000 TO 1356912000000]

也可以使用以下方式:

age:>10
age:>=10
age:<10
age:<=10

布尔操作符

支持 AND, OR, NOT

例如:

q=level:DEBUG AND INFO

分组

支持使用小括号对每个子句进行分组,形成更为复杂的查询逻辑。

例如:

name:(quick OR brown) AND fox

通配符

支持通配符查询,? 代表单个字符,* 代表0或多个字符

例如:

qu?ck bro*

正则表达式

查询语句支持正则表达式,用 / 来包裹。

例如:

name:/joh?n(ath[oa]n)/

转义字符

如果查询内容包含 + - = && || > < ! ( ) { } [ ] ^ " ~ * ? : \ /,则可以使用 \ 进行转义。

基于 VitePress 构建