MyGit

5.0.0

Tencent/APIJSON

版本发布时间: 2022-03-28 00:26:41

Tencent/APIJSON最新发布版本:6.2.0(2023-08-09 09:57:11)

功能

条件组合新增支持任意逻辑表达式 @combine:"a | (b & !(c | d))"; image

JOIN 新增支持多个字段关联及引用赋值; image

JOIN ON 新增支持带非引用赋值关联的普通条件; image

JOIN ON 新增支持 {}, <>, $, ~, !, >, <, >=, <= 等多种关联方式; image

& INNER JOIN 新增支持单独设置 JOIN 语句中的字段、条件、分组、聚合、排序等; image

* CROSS JOIN 允许没有 JOIN ON 引用赋值关联条件; 模糊搜索 key$:value 新增支持 key 中定制占位符 %, _ 与 value 的拼接方式; 包含选项范围新增支持传路径,例如 key<>:{ path: "$", value:82001 };

聚合函数 @having 支持复杂条件组合,且新增 @having& 简化 AND 连接的写法; image

对 @having:"表达式" 和 key{}:"表达式" 新增支持单引号、反引号、各种关键词等; 新增支持 @having:"match(arg0..)AGAINST(..)%2=1" 全文检索等函数后带数学表达式; image

对 key{}:">0;length(key)<=5" 新增支持部分为 RAW SQL; 新增支持 NULL 值 @null:"tag"; 新增支持类型转换 @cast:"date:DATE"; 新增数组关键词 compat 解决对聚合函数字段通过 query:2 分页查总数返回值错误; 状态信息 msg 新增提问注意事项;

权限控制:分拆对角色的校验的代码为多个方法,方便灵活重写部分代码; 完善对 id, id{}, userId, userId{} 的条件强制前置 AND 处理; 预估容量新增对 HAVING 聚合函数的处理; 拼错单词 globle 纠正为 global; 去除不必要的 synchonized; 原来的 combine 重命名为 combineMap,combineExpression 重命名为 combine;

升级自身, fastjson 版本分别为 5.0.0, 1.2.79;


使用登记

新增 珠海采筑电子商务有限公司(房地产巨头万科发起),多个项目使用,感谢 @fanpocha 的登记 #367; image

新增 乐拼用车 的 Logo,感谢 @VamChao 的登记 #187#issuecomment-1009633459

image


文档

新增功能演示及说明的 GIF 图; image


image


兼容性

AbastractSQLConfig 原来的 combine 重命名为 combineMap,combineExpression 重命名为 combine,如果业务后端项目直接调用或重写了相关方法,需要对应修改; https://github.com/Tencent/APIJSON/commit/b248c698887728bd826febd77c4404dd1faecf06

拼错单词 globle 纠正为 global,涉及 Parser 及 AbstractParser 中 getGlobleXXX, setGlobleXXX 14 个方法,如果业务后端项目直接调用或重写了相关方法,需要对应修改; https://github.com/Tencent/APIJSON/commit/d7c311554042620a91faf8f4a63ebcf9a2fd0be2

聚合函数 "@having":"SQL表达式1;SQL表达式2" 默认由 AND 连接改为 OR 连接,改用 "@having&":"SQL表达式1;SQL表达式2" 实现 AND 连接,如果前端(客户端)已经在线上生产环境用了旧方式,后端可以修改 AbstractSQLConfig.IS_HAVING_DEFAULT_AND = true 来兼容 https://github.com/Tencent/APIJSON/commit/9776408d63bc1d768cdd97d910f6b2243b2a94a8

聚合函数 "@having":"toId>0" 这种不包含 SQL 函数的表达式,默认不再支持,可改为 "@having":"(toId)>0",如果前端(客户端)已经在线上生产环境用了旧方式,后端可以修改 AbstractSQLConfig.IS_HAVING_ALLOW_NOT_FUNCTION = true 来兼容 https://github.com/Tencent/APIJSON/commit/9776408d63bc1d768cdd97d910f6b2243b2a94a8


腾讯工程师公开称赞

腾讯 IEG 数据产品开发组负责人 xinlin: ”腾讯的 APIJSON 开源方案,它可以做到零代码生成接口和文档,并且整个生成过程是自动化。

当企业有元数据的时候,马上就可以获得接口“

引用来源:腾讯游戏业务竟然是这样利用低代码平台的 | ArchSummit 全球架构师峰会 2021(深圳) image


腾讯科技 后台开发高级工程师 雷大锤: “可以抽出时间来看apijson了,这个可以为T10做准备,也是业界很火的东西,可以提升个人影响力!”

引用来源:腾讯人工作日常—在沟通和扯皮中度过的一周 image



APIJSON - 零代码、全功能、强安全 ORM 库

腾讯开源前十、内外五个奖项,后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构 http://apijson.cn image image

相关地址:原始地址 下载(tar) 下载(zip)

1、 apijson-orm-5.0.0.jar 353.91KB

查看:2022-03-28发行的版本