Kaynağa Gözat

添加通用查询

wudla 4 yıl önce
ebeveyn
işleme
03eefe482d
2 değiştirilmiş dosya ile 225 ekleme ve 0 silme
  1. BIN
      .DS_Store
  2. 225 0
      api document/通用查询.md

BIN
.DS_Store


+ 225 - 0
api document/通用查询.md

@@ -0,0 +1,225 @@
+## 数据结构
+
+```
+{
+    "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 |          | 额外返回的扩展字段清单    |
+|             |          |                           |
+
+## criteria说明
+
+#### 符号说明
+
+| 符号                     | 说明                           |
+| ------------------------ | ------------------------------ |
+| $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
+        }
+    }
+}
+```
+
+#### in查询
+
+查询name为zhangsan、lisi的数据
+
+```
+{
+    "criteria": {
+        "name": {
+            "$in": [ "zhangsan", "lisi" ]
+        }
+    }
+}
+```
+
+也可直接写成
+
+```
+{
+    "criteria": {
+        "name": [ "zhangsan", "lisi" ]
+    }
+}
+```
+
+#### 模糊查询
+
+查询name以zh开头的数据
+
+```
+{
+    "criteria": {
+        "name": {
+            "$like": "zh%"
+        }
+    }
+}
+```
+
+
+
+## withColumns说明
+
+通过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" ]
+}
+```
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+