查询参数QueryParam 
QueryParam 概述 
QueryParam 是 Yao 中用于构建数据查询条件的重要组件,它可以将结构化的查询参数转换为数据库可执行的查询语句。主要应用在以下场景:
- URL 查询参数转换:将 API 请求 URL 中的查询字符串解析为标准的查询参数
 - 模型处理器参数:在调用数据模型处理器时,用于构建复杂的查询条件
 
查询参数处理流程 
1. 参数输入 
查询参数可以来自两个主要来源:
- URL 查询字符串:通过 API 请求中的查询参数传入
 - 直接构造:在处理器中直接构造 QueryParam 对象
 
2. 参数解析 
系统会对输入的参数进行解析和转换,主要包括:
- parseIn:解析输入参数
 - 参数验证:确保参数格式正确
 - 转换成表查询参数:将解析后的参数转换为标准的 QueryParam 格式
 
3. 查询执行 
转换后的 QueryParam 会被用于执行实际的数据库查询:
- 根据 QueryParam 构建 SQL 查询语句
 - 执行查询操作
 - 返回查询结果
 
QueryParam 支持的查询条件 
QueryParam 支持多种查询条件和操作:
基础查询条件:
- 等于(eq)
 - 不等于(neq)
 - 大于(gt)
 - 小于(lt)
 - 大于等于(gte)
 - 小于等于(lte)
 
高级查询条件:
- 模糊匹配(match)
 - 范围查询(between)
 - 空值查询(null)
 - 非空查询(notnull)
 - 包含查询(in)
 - 不包含查询(notin)
 
查询参数配置:
- 字段选择(select)
 - 关联查询(withs)
 - 排序(order)
 - 分页(page、pagesize)
 
使用示例 
- URL 查询示例:
 
bash
GET /api/user/paginate?withs=manu,mother,addresses&where.status.eq=enabled&select=id,name,mobile,status,extra&page=1&pagesize=2- 直接构造示例:
 
json
{
  "select": ["id", "name", "mobile", "status", "extra"],
  "withs": { "manu": {}, "mother": {}, "addresses": {} },
  "wheres": [{ "column": "status", "value": "enabled" }],
  "page": 1,
  "pagesize": 2
}通过这种方式,QueryParam 提供了一个灵活且强大的查询参数处理机制,使得数据查询既简单又高效。