int
简介
校验请求参数是否为整数。
整数可以是零、正数和负数,例如 1、100、0、-10。
示例
Tested on Luwak 1.11
数据字典
hrm.salaries 人力资源系统 - 员工的薪水信息表
列名 | 数据类型 | 非空 | 自增 | 键 | 描述 |
---|---|---|---|---|---|
emp_no | int(11) | 是 | - | 主键、外键 | 员工的唯一编号 |
salary | int(11) | 是 | - | - | 员工的薪水金额 |
from_date | date | 是 | - | 主键 | 薪水周期的开始日期 |
to_date | date | 是 | - | - | 薪水周期的结束日期 |
参数映射和校验
将参数字段的小写开始的驼峰写法,转换为小写下划线,映射到列
校验规则
- 员工编号是整数
- 薪水是整数
- 开始日期符合日期规范,如月不可能是13,日期不可能是32
- 结束日期符合日期规范
- 员工编号和开始日期组合在一起在表中不应该存在,参考唯一性约束
- 员工编号在员工表中存在,参考外键约束
请求
POST http://127.0.0.1:21000
Content-Type: application/json;charset=utf-8
{
"jsonrpc": "2.0",
"method": "hrm.salaries.add",
"params": {
"empNo": 10010,
"salary": "10000a",
"fromDate": "2023-10-01",
"toDate": "2023-11-01"
},
"id": "client-unique-request-id"
}
响应
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "validating data type: salary: 10000a does not validate as numeric",
"data": {
"errorCode": "EU.Validator.DataTypeError",
"errorDetails": [
{
"field": "salary",
"fieldValue": "10000a",
"location": "hrm.salaries",
"message": "salary: 10000a does not validate as numeric",
"validator": "numeric"
}
],
"errorMessage": "salary: 10000a does not validate as numeric"
}
},
"id": "client-unique-request-id"
}
备注: 以上示例在Luwak 1.12.9测试通过。