跳到主要内容

int

简介

校验请求参数是否为整数。

整数可以是零、正数和负数,例如 1、100、0、-10。

示例

Tested on Luwak 1.11

数据字典

hrm.salaries 人力资源系统 - 员工的薪水信息表

列名数据类型非空自增描述
emp_noint(11)-主键、外键员工的唯一编号
salaryint(11)--员工的薪水金额
from_datedate-主键薪水周期的开始日期
to_datedate--薪水周期的结束日期

参数映射和校验

将参数字段的小写开始的驼峰写法,转换为小写下划线,映射到列

校验规则

  • 员工编号是整数
  • 薪水是整数
  • 开始日期符合日期规范,如月不可能是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测试通过。