Commit Graph

52 Commits

Author SHA1 Message Date
iceewei
873afa8470 fix: 添加异常信息控制静态变量,改造两层错误码问题
- AbstractParser类增加了isPrintErrorLog静态变量,暴露给用户控制错误信息抛出
    - 内外两层错误码改造,增加抛出异常逻辑(updateCount <= 0)
2021-04-06 16:51:57 +08:00
iceewei
635d241368 feat: 添加异常信息控制静态变量,改造两层错误码问题
- AbstractParser类增加了isPrintErrorLog静态变量,暴露给用户控制错误信息抛出
- 内外两层错误码改造,增加抛出异常逻辑(updateCount <= 0)
2021-04-06 15:37:16 +08:00
iceewei
737aa738ef 错误码只在最外层返回,逻辑统一 2021-04-05 22:29:18 +08:00
iceewei
3d210639c6 错误码只在最外层返回,逻辑统一 2021-04-05 22:27:10 +08:00
TommyLemon
8a6672b5f9 升级版本号为 4.6.6 2021-04-05 19:33:53 +08:00
TommyLemon
fe65470b5c SQL 函数白名单新增 length;key$ 模糊搜索不允许连续的 %;AbstractSQLExecutor 新增 getKey 方法;新增待实现关键词 @null;删除 Structure.java, Operation 中 NECESSARY, DISALLOW 等已废弃的部分代码 2021-04-05 19:24:42 +08:00
TommyLemon
bae6febdbb 【安全】:调用 SQL 函数只允许用后端已配置的,避免 sleep(10) 这种命令函数导致数据库异常 2021-03-27 19:26:06 +08:00
TommyLemon
386a02f2f3 【安全】:加强对 JOIN 相关键值对的校验;加强对命名的校验 2021-03-27 16:47:56 +08:00
TommyLemon
ba68844465 删除已废弃的 Test 类的相关代码 2021-03-20 17:54:25 +08:00
TommyLemon
0a2cbc111a 升级版本号为 4.6.1 2021-03-20 17:30:17 +08:00
TommyLemon
a32d5f420e 解决对 Response 校验只对最外层生效;移除已废弃的 StructureUtil 和 Test 的相关代码 2021-03-20 16:25:14 +08:00
TommyLemon
4858f02d3f 解决表对象当表名有别名时被当成普通对象导致查不到数据 2021-02-06 19:46:13 +08:00
TommyLemon
9cd448713a 升级版本号为 4.6.0 2021-02-01 00:03:37 +08:00
TommyLemon
a406242a81 【性能】通过缓存及复用数组主表 ObjectParser 来大幅提升查询数组的性能 2021-01-31 19:35:52 +08:00
TommyLemon
6831cb6a6d 增强安全:对 DELETE 和 PUT 强制加 LIMIT;简化包含选项的写法:解决 "key<>": "a" 这种包含字符串的格式报错 Data truncation: Invalid JSON text,原来必须里面再用 "" 包装一次,JSON 中还得转义,现在直接写即可; 2021-01-31 04:20:26 +08:00
TommyLemon
cf1cca0254 解决 "toId%": "0,10" 等连续范围报错 value 类型不合法;解决 "id{}@": "[]/Moment/praiseUserIdList" 等引用赋值的值有时类型为 List 时报错 ArrayList cannot be cast to JSONArray; 2021-01-31 02:24:37 +08:00
TommyLemon
bb4896d208 通过减少不必要的 newSQLConfig 及 getSQL 等步骤来大幅提升数组内主表的查询性能 2021-01-30 19:56:35 +08:00
TommyLemon
b7d1fef192 优化全局默认参数的解析性能 2021-01-24 02:55:03 +08:00
TommyLemon
bbcf05e01c 解决某些情况下解析 引用赋值 出错 throw NullPointerException 或 IndexOutOfBoundsException 2021-01-24 01:55:59 +08:00
TommyLemon
f05df3a188 解决异常情况下未及时释放资源 2021-01-24 01:29:22 +08:00
Xiaoguang Sun
7c31719347 Add javax.activation dependencies to pom.xml
Add javax.activation dependencies to pom.xml so it could be built with
newer version of JDK starting from 11 which removed the deprecated Java
EE and CORBA Modules according to JEP 320

Signed-off-by: Xiaoguang Sun <sunxiaoguang@zhihu.com>
2021-01-20 12:23:11 +08:00
TommyLemon
8fd88e0af6 解决高并发情况下参数校验规则可能因为执行过程 remove 了部分操作关键词导致校验出错 2021-01-17 01:54:03 +08:00
TommyLemon
1f529277fa fastjson 版本降到 1.2.74;项目版本升到 4.5.1 2021-01-17 00:14:10 +08:00
ganyu.gy
1530864c25 Upgrade fastjson 2021-01-12 17:03:02 +08:00
ganyu.gy
451fbdf391 Optimize some code 2021-01-12 16:59:02 +08:00
TommyLemon
297c251f36
Update pom.xml 2020-12-28 23:27:36 +08:00
TommyLemon
5a51f8825d
Update pom.xml 2020-12-27 02:02:45 +08:00
TommyLemon
945f6e4b0a 升级版本号为 4.4.6 2020-12-27 01:46:08 +08:00
TommyLemon
991b5fbbcc 解决 REFUSE 值为 "!" 时因为没有匹配 MUST,而是匹配了 NECESSARY 导致判断出错 2020-12-27 01:45:05 +08:00
TommyLemon
5cf01bc44f 解决 REQUEST_MAP 缓存中的 strcuture 在校验参数抛异常后未被还原,导致后续解析丢了部分配置 2020-12-27 01:33:42 +08:00
TommyLemon
3e86b09210 解决 PUT 请求传 @key:[] 被当成表字段然后解析报错 2020-12-27 00:00:39 +08:00
TommyLemon
d7905fff56 @column 和 @having 不允许注释符 /* 2020-12-26 23:27:52 +08:00
TommyLemon
2b19a123d4 返回字段 @column 支持 (balance)*100 和 length(content)%2=0 这种 字段 或 SQL 函数 后拼接数字比较表达式 2020-12-26 23:20:44 +08:00
TommyLemon
71f904313d 升级版本号至 4.4.5 2020-12-26 19:44:21 +08:00
TommyLemon
22ed7cc9e8 通过缓存 Request 校验规则来大幅提升增删改等非开放请求的性能;解决 关闭权限验证情况下批量新增、批量修改依然会验证权限 https://github.com/Tencent/APIJSON/issues/164 2020-12-26 19:41:51 +08:00
TommyLemon
7fa6ac181e 优化匹配条件范围的报错提示; 2020-12-14 02:05:31 +08:00
TommyLemon
b47140b477 匹配条件范围 key{}:"表达式" 不允许连续减号 --;升级项目版本号 2020-12-14 02:01:49 +08:00
TommyLemon
3dc9dd1ce5 @raw 支持 key:value 和 @having;@having 和 @column 一样支持 function(arg,&char,!) 中包含不符合 字段命名 的字符;优化代码和报错提示; 2020-12-14 01:37:31 +08:00
TommyLemon
d959c6c655 存储过程 @procedure():"fun(key0,key1..)" 返回格式中去掉 key 的 @ 前缀;取消支持 key? 这种正则匹配方式,全面用 key~ 替代;优化代码 2020-12-13 23:11:25 +08:00
TommyLemon
278ff6d4ba 原始 SQL 片段 @raw:"key" 新增支持条件范围 key{}: "(Comment.userId=to.userId)"、比较运算 key>: "to.momentId"、过滤字段 @column: "SUBSTRING_INDEX(SUBSTRING_INDEX(content,',',1),',',-1)" 2020-12-13 20:22:55 +08:00
TommyLemon
264781e56b 解决 "isPraised-()": "isContain(praiseUserIdList,userId)" 这种有前置执行 远程函数 的表对象可能返回没有表数据的对象,只有 { "isPraised": true } 这种无意义的对象 2020-12-08 20:38:16 +08:00
TommyLemon
9d4bd7b37f 解决 Windows mysql-5.6.26-winx64 等低于 5.7 的 MySQL 可能 id{}: [0] 生成 id IN(0) 触发 MySQL bug 导致忽略 IN 条件 2020-12-02 00:27:52 +08:00
TommyLemon
e4240857ad 数据和结构校验类 Structure 整合到 AbstractVerifier;AbstractParser 中 IdCallback 相关方法移到 AbstractVerifier;AbstractParser 优化代码避免 NPE; 2020-11-29 03:46:52 +08:00
TommyLemon
bc135fb785 dbUri 完全交给用户控制,不再针对 MySQL 版本号来自动配置参数;升级版本号为 4.3.0 2020-11-28 15:06:08 +08:00
TommyLemon
076b3fe1f3
Update README.md 2020-11-22 03:08:19 +08:00
TommyLemon
e656258c6e 新增 APIJSONORM 的远程依赖文档 2020-11-22 03:06:44 +08:00
TommyLemon
c32498b041 操作方法 Operation 新增 MUST 和 REFUSE 分别替代 NECESSARY 和 DISALLOW;解决 Structure.sqlVerify 不可用及预防可能的 SQL 注入;解决 SQLConfig 自定义的 idKey 和 userIdKey 在 Structure 中未同步导致自定义值校验不通过; 2020-11-22 02:26:36 +08:00
TommyLemon
c416514e43 升级 fastjson 版本为 1.2.74(测试 1.2.75 下载不了 Maven 依赖) 2020-11-15 00:35:57 +08:00
TommyLemon
b249994a8a 所有代码文件版权归属改为腾讯公司 THL A29 Limited 2020-10-27 21:23:55 +08:00
TommyLemon
620ecfcb0b
Update pom.xml 2020-09-26 02:36:03 +08:00