{
"page": 1,
"size": 20,
"onlyCount": false,
"criteria": {
"age": {
"$gt": 21
}
},
"orders": [
{
"column": "name",
"asc": false
}
],
"withColumns": [ "roles" ]
}
参数说明
字段 | 说明 | |
---|---|---|
page | 分页页码,从1开始 | |
size | 分页大小 | |
onlyCount | 是否只统计数量,默认false | |
criteria | 查询条件 | |
orders | object[] | 排序参数,支持多个字段排序 |
column | 排序字段 | |
asc | 是否升序,默认true | |
withColumns | 额外返回的扩展字段清单 | |
符号 | 说明 |
---|---|
$ne | dayu |
\$gt, \$gte, \$lt, \$lte | 大于, 大于等于, 小于, 小于等于 |
\$in | 范围查询 |
\$like, \$notlike | 模糊匹配 不匹配 |
\$null | 是否为空 |
以下实例针对的实体类型user如下
字段 | 类型 |
---|---|
id | int |
name | string |
age | int |
查询name为zhangsan的数据
{
"criteria": {
"name": "zhangsan"
}
}
查询name不等于张三的数据
{
"criteria": {
"name": {
"$ne": "zhangsan"
}
}
}
查询name不为空的数据
{
"criteria": {
"name": {
"$null": false
}
}
}
查询age大于25小于35的数据
{
"criteria": {
"age": {
"$gt": 25,
"$lt": 35
}
}
}
查询name为zhangsan、lisi的数据
{
"criteria": {
"name": {
"$in": [ "zhangsan", "lisi" ]
}
}
}
也可直接写成
{
"criteria": {
"name": [ "zhangsan", "lisi" ]
}
}
查询name以zh开头的数据
{
"criteria": {
"name": {
"$like": "zh%"
}
}
}
通过withColumns可以控制返回的数据内容,可以一定程度上提供服务性能.
withColumns粒度比较粗,一般由服务提供者决定哪些字段可以通过withColumns来控制.
假设数据如下
{
"name": "zhangsan",
"age": 22,
"roles": [ "administrator", "manager" ]
}
将roles设计为可选字段,由withColumns来管理,如果查询参数中有withColumns并包含roles,则返回roles字段
默认查询和返回的数据内容为
{
"criteria": {
"name": "zhangsan"
}
}
{
"name": "zhangsan",
"age": 22
}
包含withColumns时的查询参数和返回的数据
{
"criteria": {
"name": "zhangsan"
},
"withColumns": [ "roles" ]
}
{
"name": "zhangsan",
"age": 22,
"roles": [ "administrator", "manager" ]
}