5.1.0
版本发布时间: 2022-05-04 02:38:53
Tencent/APIJSON最新发布版本:6.2.0(2023-08-09 09:57:11)
功能
请求参数校验:REFUSE 新增支持 !key 排除禁止字段,优化 MUST 和 REFUSE 处理性能; 部分常量改为可自定义静态变量;
解决 PUT 不能完整替代 json, jsonb 字段的数组值,感谢 @weiwei162 的贡献 #387; 解决 Oracle 分页获取时无法获取除第一页以外的数据,感谢 @SingleDogL 的贡献 #390; 解决高并发下生成主键冲突导致新增记录失败等; 解决关闭权限校验时 POST 请求传 userId 无效,加强对 POST 请求内字段格式的校验; 解决 format: true 在 Log.DEBUG 时也不返回 SQL、时间等调试信息; 解决 JOIN 副表返回空对象; 解决预估容量判断 NOT 条件用错逻辑 key;
优化 SQL 执行缓存; 优化角色权限、参数校验、远程函数的初始化; 优化登录报错和远程函数执行报错的提示; 优化主键泛型; 优化代码; 删除不再需要的依赖 javax.activation; 升级自身版本为 5.1.0;
文档
更新 @combine 条件组合说明为 5.0+ 的条件任意组合格式; 更新 5.0 新增的 @having&:"...", @having:{...} 两种用法; 完善 JOIN 的类型以及 join:{...} 这种可带 ON 及功能符的写法; 完善 JOIN ON 的各种关联方式、支持多字段关联、支持其它条件的说明; 相关推荐新增 apijson在同一个接口调用中 使用远程函数写入更新时间和创建时间,感谢博主,点赞、收藏支持下博主吧~ 生态项目新增 路由插件 apijson-router,对外暴露类 RESTful 接口,内部转成 APIJSON 接口执行,点 Star 支持下作者吧~
兼容性
AbastractSQLConfig 中
原来的 IdCallback 加了泛型 <T extends Object>,并且 Object newId(RequestMethod method, String database, String schema, String table) 改为 T newId(RequestMethod method, String database, String schema, String datasource, String table); 原来的 Callback 加了泛型 <T extends Object>,并且 SQLConfig getSQLConfig(RequestMethod method, String database, String schema, String table) 改为 SQLConfig getSQLConfig(RequestMethod method, String database, String schema, String datasource, String table); 原来的 SimpleCallback 加了泛型 <T extends Object>; 如果业务后端项目直接调用或重写了相关方法,需要对应修改; https://github.com/Tencent/APIJSON/commit/8df36e26d7ad74f2df4df4e9ce5b29530d814141
AbstractSQLExecutor 中
SQLExecutor.KEY_RAW_LIST 移到 AbstractSQLExecutor,如果业务后端项目直接引用了这个常量,需要对应修改; 原来的缓存读写方法 putCache, removeCache, getCache, getCacheItem 中最后参数 int type 都改为了 SQLConfig config,如果业务后端项目直接调用或重写了相关方法,需要对应修改; https://github.com/Tencent/APIJSON/commit/8df36e26d7ad74f2df4df4e9ce5b29530d814141
Parser 中
用于接口限流的配置参数 DEFAULT_QUERY_COUNT, MAX_QUERY_PAGE, MAX_QUERY_COUNT, MAX_UPDATE_COUNT, MAX_SQL_COUNT, MAX_OBJECT_COUNT, MAX_ARRAY_COUNT, MAX_QUERY_DEPTH 全都移到 AbstractParser,如果业务后端项目直接引用了这些常量,需要对应修改; https://github.com/Tencent/APIJSON/commit/8df36e26d7ad74f2df4df4e9ce5b29530d814141
pom.xml 中
移除了依赖 javax.activation https://github.com/Tencent/APIJSON/commit/95432dde2c7a1f5147f9fe2f77f5500d33c651d0 如果用 JDK 11 +,可能编译不通过或运行报错,可以在自己项目 <dependencies></dependencies> 标签内加上:
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
1、 apijson-orm-5.1.0.jar 355.71KB