过滤信息
如果接口返回记录数量很多,不可能都将它们返回给用户。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)/转义字符
如果查询内容包含 + - = && || > < ! ( ) { } [ ] ^ " ~ * ? : \ /,则可以使用 \ 进行转义。