用户工具

站点工具


apijson:request
  • request
CREATE TABLE `request` (
  `id` bigint(15) NOT NULL COMMENT '唯一标识',
  `version` tinyint(4) NOT NULL DEFAULT '1' COMMENT 'GET,HEAD可用任意结构访问任意开放内容,不需要这个字段。\n其它的操作因为写入了结构和内容,所以都需要,按照不同的version选择对应的structure。\n\n自动化版本管理:\nRequest JSON最外层可以传  “version”:Integer 。\n1.未传或 <= 0,用最新版。 “@order”:”version-“\n2.已传且 > 0,用version以上的可用版本的最低版本。 “@order”:”version+”, “version{}”:”>={version}”',
  `method` varchar(10) DEFAULT 'GETS' COMMENT '只限于GET,HEAD外的操作方法。',
  `tag` varchar(20) NOT NULL COMMENT '标签',
  `structure` mediumtext NOT NULL COMMENT '结构。\nTODO 里面的 PUT 改为 UPDATE,避免和请求 PUT 搞混。',
  `detail` varchar(10000) DEFAULT NULL COMMENT '详细说明',
  `date` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建日期',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='最好编辑完后删除主键,这样就是只读状态,不能随意更改。需要更改就重新加上主键。\n\n每次启动服务器时加载整个表到内存。\n这个表不可省略,model内注解的权限只是客户端能用的,其它可以保证即便服务端代码错误时也不会误删数据。';
  • 校验规则配置:Operation枚举
"VERIFY": { "money&{}":">0,<=10000" } //自动验证是否 money>0 & money<=10000,"type{}":[0,1,2]字典值,"phone~": "PHONE"预定义正则AbstractVerifier.COMPILE_MAP,已有PHONE、EMAIL、ID_CARD
"TYPE": { "balance": "DECIMAL" } //自动验证balance类型是否为BigDecimal,支持BOOLEAN,NUMBER, DECIMAL, STRING, URL, DATE, TIME, DATETIME, OBJECT, ARRAY,支持对应数组URL[]
"UNIQUE": "phone" //强制phone的值为数据库中没有的,规则同EXIST支持数组
"EXIST": "id;version,tag"  //兼容多个字段联合主键,也支持["id", "version,tag"]
"MUST": "id,name" //强制传id,name两个字段,格式"key0,key1,key2..."
"REFUSE": "balance" //禁止传balance字段
"INSERT": { "@role": "OWNER" } //如果没传@role就自动添加,不覆盖
"UPDATE": { "id@": "User/id" } //强制放入键值对,添加或覆盖,忽略用户传入值
"REPLACE": {"key":"value"} //替换,不存在时不添加
"REMOVE": "key0,key1..." //删除
apijson/request.txt · 最后更改: 2021/07/13 09:46 由 admin