Releases: Tencent/APIJSON
8.1.0.0
新增支持 Databend - 带 AI 的新一代云原生数据湖仓(Snowflake 开源替代);
新增支持 LEFT,RIGHT JOIN 传外层 WHERE 条件,感谢 @wz11wz 的贡献 #829;
fix: PG count join 报错找不到 column,感谢 @wz11wz 的贡献 #825;
新增支持分库分表中间件 ShardingSphere 的说明;
通用文档新增 函数调用映射 "@key": "fun:avg(id);keyA:(keyB)" ,感谢 @moxixi527 的贡献 #836;
通用文档新增 compat 兼容各种 count SQL,感谢 @GeXin97 的贡献 #832;
依赖说明移除 8.0 起不再依赖的 fastjson;
腾讯开源主体公司 THL A29 Limited 改为 Tencent,并在 LICENSE 头部说明变更;
推荐文档新增 APIJSON项目实战教程:零代码实现高效JSON接口开发,感谢 强苹旖 的贡献;
推荐文章新增 springboot整合APIJSON——零代码万能通用 API(附源码),感谢 程序员码龙 的贡献;
点赞、收藏、转发 支持下两篇文章作者吧 ^_^
生态项目新增 apijson-spring-boot,感谢 @yunjiao-source 的贡献 #834;
创作不易,为热心的作者右上角点亮 ⭐Star 收藏/支持下项目吧 ^_^
https://gitee.com/yunjiao-source/apijson-spring-boot
生态项目新增 CVAuto - 👁 零代码零标注 CV AI 自动化测试工具
零代码快速自动化测试 CV 计算机视觉 AI 人工智能图像识别算法的功能、效果、性能
适合 算法 应用/开发 工程师/专家、算法测试 工程师/专家、AI/机器学习/算法 工程师/专家/研究员/科学家 等
不用提前标注画框及标签等作为 Ground Truth 这种工作量巨大的人工手动繁琐耗时操作,
只需上传图片/视频,一键通过 HTTP API 调用算法模型得到推理后返回的 JSON 响应结果,
然后自动在图上绘制 label 标签、box 画框、line 连线、point 关键点、polygon 多边形等,
自动断言画框是否正确,可点边框附近来调整 ✓ 对 X 错,一键上传可作为基准的本次结果,
自动统计正确数、误报数、漏检数、召回率、精准率、F1 Score 等指标,自动对比前后效果。
上图左侧是工具网页,右侧是模拟被测试的 YOLO 检测、姿态、分割 等算法模型 Python AI 推理服务;
左侧分别有 本次、对比差异、之前 的推理后画框及标签等渲染图,差异中的 + 表示新增,- 表示减少;
本次 所有框 和 差异所有 + 框 都可点框附近把默认的 ✓ 改为 X 表示推理误报,各指标会马上自动更新;
当前图片确认无误后,点击 [对的,纠正] 按钮来上传本次结果,点击 总计指标 来切换显示 数量/百分比。
在之前图片右上角输入实际目标数量;中间图片列表顶部 点右上角 + 批量上传图片,点左侧 ↻ 回归测试。
支持算法
- 目标检测:行人、车辆、异物、零部件 等
- 物体分类:车型、快递、鲜花、动植物 等
- 文本识别:书籍、网页、车牌、包装盒 等
- 姿态估计:舞蹈、体操、人机交互游戏 等
- 图像分割:抠图、路人消除、背景替换 等
- 人脸识别:根据脸部特征 识别出具体是谁
- 旋转校正:对有直边的物体 校正歪斜角度
创作不易、坚持更难,右上角点亮 ⭐ Star 收藏/支持下本项目吧,谢谢 ^_^
https://github.com/TommyLemon/CVAuto
兼容 Gson; 优化异常堆栈
新增 IS_RETURN_STACK_TRACE 配置是否返回 trace:stack 字段,优化代码;
把 trace:stack 字段值转为 List 返回,避免 Gson 等 JSON 库反序列化报错,并且还更方便浏览;
Gson 版 Demo:https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-Gson
兼容性:
apijson-framework 7.2.0 暂时移除了 UnitAuto(依赖 fastjson 1.x) 依赖及 APIJSONFunctionParser 中对应的方法
getMethodArguments, getMethodDefinition, getMethodRequest,
但在 Function 表中,字段 name 和以上方法名相同的记录会导致启动报错找不到远程函数对应方法,
可以删除后再启动应用,或者在 DemoFunctionParser 加上对应的空实现。
https://github.com/APIJSON/apijson-framework/releases/tag/7.2.2
去 fastjson; 增 Doris
去除 fastjson,M extends Map<String, Object> 替代 JSONObject, L extends List<Object> 替代 JSONArray:
1.支持 jackson, gson, fastjson2, fastjson 等各种 JSON 库;
2.目前已新增 gson 和 fastjson2 插件,右上角点亮 ⭐️ Star 支持下吧 ^_^
https://github.com/APIJSON/apijson-gson
https://github.com/APIJSON/apijson-fastjson2
Gson 版 Demo:https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-Gson
3.新增使用 APIJSON 8 及 apijson-fastjson2 的 Demo
新增支持 Doris-高性能实时湖仓一体数据库;
新增 getConnection(String key) 和 putConnection(String key, Connection connection);
修复请求 json 的 key 为 JSONArray 时类型转换异常问题,感谢小红书工程师 @DenineLu 的贡献 #808;
解决返回 database, schema 等信息;
调整全能 CRUD 文档:修改错误、优化 JSON 格式、标记弃用第二种方式 @method;
新增 杭州独角兽企业 资深技术专家 的文章:APIJSON腾讯开源的后端开发神器!!!
感谢 35岁程序员那些事 的分享,点赞、收藏、转发支持下作者吧~
https://cloud.tencent.com/developer/article/2372220

新增 QuestDB, ASOF JOIN, SAMPLE, LATEST, PARTITION, FILL 等
新增支持 QuestDB-高性能实时分析时序数据库;
新增支持 ~ ASOF JOIN, SAMPLE BY, LATEST ON, PARTITION BY, FILL(LINEAR) 等关键词及与语法;
简化 StringUtil 中各种字符串相关方法;
优化代码;
兼容性
AbstractSQLExecutor 中以下 3 个方法都在最后加了 1 个参数 Map<String, String> keyMap,如果你的项目中有 extends AbstractSQLExecutor 的子类并且重写了以上任意一个方法,则都需要在最后加上这个参数:
String getKey(@NotNull SQLConfig<T> config, @NotNull ResultSet rs, @NotNull ResultSetMetaData rsmd, int row, @NotNull JSONObject table, int columnIndex, Map<String, JSONObject> childMap, Map<String, String> keyMap) throws Exception
Object getValue(@NotNull SQLConfig<T> config, @NotNull ResultSet rs, @NotNull ResultSetMetaData rsmd, int row, @NotNull JSONObject table, int columnIndex, String label, Map<String, JSONObject> childMap, Map<String, String> keyMap) throws Exception
JSONObject onPutColumn(@NotNull SQLConfig<T> config, @NotNull ResultSet rs, @NotNull ResultSetMetaData rsmd, int row, @NotNull JSONObject table, int columnIndex, Join join, Map<String, JSONObject> childMap, Map<String, String> keyMap) throws Exception
支持 TimescaleDB
新增支持 TimescaleDB-高性能实时分析时序数据库,基于 PostgreSQL 并兼容 PostgreSQL 协议
支持 ManticoreSearch 搜索引擎
新增支持 ManticoreSearch-替代 Elasticsearch 的轻量级搜索引擎,兼容 MySQL 协议
支持 CockroachDB
新增支持 CockroachDB
兼容 JDK 1.8+
打包用的 JDK 17 改为 1.8 并 移除指定 JDK 17 打包的 jitpack.yml,兼容 1.8~16 的低版本 JDK
7.4.0-preview
7.4.0 preview release
新增SQLite;长度条件;首页为1;登记企业+2;生态项目+2
新增支持 SQLite,感谢 @afumu 的贡献 #757;
新增支持 key[ 表示 length(key) 和 key{ 表示 json_length(key),可与 与或非逻辑符、其它各种功能符 组合使用;
新增支持分页页码 page 从 1 开始,也就是 首页页码为 1,与 UI 一致,APIJSONParser.IS_START_FROM_1 = true 开启;
增加输出 null 值的开关 AbstractSQLExecutor.ENABLE_OUTPUT_NULL_COLUMN = true,感谢 @calmcc 的贡献 #770;
fix: 自关联 Table:alias 拼接 SQL 表名异常,感谢 @zxcwindy 的贡献 #750
fix: 调整 parseResponse 获取 SQLExecutor 方式,感谢 @alittle-yu 的贡献 #767;
getSQLTableWithAlias 带上原表名,避免 alias 与其它表名/字段 冲突;
优化 GitHub 对 tab 和 IDE 处理不一致导致缩进显示问题;
用户登记新增 上海钰亿环保科技有限公司,感谢 @Reynold3D 的贡献 #768;
北明软件登记,感谢 @zxcwindy 的贡献 #747;
通用文档:功能符新增空值键值对 "@null":"key1,key2..."
更新 UnitAuto 简介: 最先进、最省事、ROI 最高的单元测试,机器学习 零代码、全方位、自动化 测试 方法/函数,用户包含腾讯、快手、某 500 强巨头等;
https://github.com/TommyLemon/UnitAuto
生态项目新增 review_plan-复习提醒Web版(Java技术练习项目),感谢 @PPXcodeTry 的贡献;
https://gitee.com/PPXcodeTry/review_plan
新增 APIJSON + Nutz 框架 + NutzBoot 的 Demo,感谢 @vincent109 的贡献;
https://github.com/vincent109/apijson-nutz
创作不易,打开以上链接右上角点亮 ⭐️ Star 支持热心的作者吧 ^_^