tag:github.com,2008:https://github.com/Tencent/APIJSON/releases Release notes from APIJSON 2025-12-07T11:54:39Z tag:github.com,2008:Repository/74359442/8.1.0 2026-03-01T17:02:25Z 新增 Databend, ShardingSphere <p><strong>新增支持 <a href="https://github.com/APIJSON/APIJSON-Demo/commit/abf52c3d0d42097dee79ffb1aed63c087a8bd9c8">Databend</a> - 带 AI 的新一代云原生数据湖仓(Snowflake 开源替代);</strong><br> 新增支持 LEFT,RIGHT JOIN 传外层 WHERE 条件,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wz11wz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wz11wz">@wz11wz</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3242449012" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/829" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/829/hovercard" href="https://github.com/Tencent/APIJSON/pull/829">#829</a>;<br> fix: PG count join 报错找不到 column,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wz11wz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wz11wz">@wz11wz</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3192314418" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/825" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/825/hovercard" href="https://github.com/Tencent/APIJSON/pull/825">#825</a>;</p> <p><strong>新增支持分库分表中间件 <a href="https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-ShardingSphere">ShardingSphere</a> 的说明;</strong><br> 通用文档新增 函数调用映射 "<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/key/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/key">@key</a>": "fun:avg(id);keyA:(keyB)" ,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moxixi527/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moxixi527">@moxixi527</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3302809796" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/836" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/836/hovercard" href="https://github.com/Tencent/APIJSON/pull/836">#836</a>;<br> 通用文档新增 compat 兼容各种 count SQL,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GeXin97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GeXin97">@GeXin97</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3261710700" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/832" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/832/hovercard" href="https://github.com/Tencent/APIJSON/pull/832">#832</a>;<br> 依赖说明移除 8.0 起不再依赖的 fastjson;<br> 腾讯开源主体公司 THL A29 Limited 改为 Tencent,并在 LICENSE 头部说明变更;</p> <p>推荐文章新增 <a href="https://blog.csdn.net/longzhutengyue/article/details/150579233" rel="nofollow">springboot整合APIJSON——零代码万能通用 API(附源码)</a>,<br> 感谢 程序员码龙(曾就职于菊厂、福报厂。现某银行技术leader) 的贡献;<br> 推荐文档新增 <a href="https://blog.csdn.net/gitblog_00682/article/details/148375065" rel="nofollow">APIJSON项目实战教程:零代码实现高效JSON接口开发</a>,感谢 强苹旖 的贡献;<br> 推荐文章新增 <a href="https://blog.csdn.net/gitblog_01177/article/details/155216163" rel="nofollow">APIJSON:重新定义后端开发体验的零代码ORM框架</a>,感谢 常歆雍 的贡献;<br> 点赞、收藏、转发 支持下 3 篇文章作者吧 ^_^</p> <p><strong>生态项目新增 apijson-spring-boot,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/yunjiao-source/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/yunjiao-source">@yunjiao-source</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3273387303" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/834" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/834/hovercard" href="https://github.com/Tencent/APIJSON/pull/834">#834</a>;</strong><br> 创作不易,为热心的作者右上角点亮 ⭐Star 收藏/支持下项目吧 ^_^<br> <a href="https://gitee.com/yunjiao-source/apijson-spring-boot" rel="nofollow">https://gitee.com/yunjiao-source/apijson-spring-boot</a></p> <h2>生态项目新增 CVAuto - 👁 零代码零标注 CV AI 自动化测试工具</h2> <p>零代码快速自动化测试 CV 计算机视觉 AI 人工智能图像识别算法的功能、效果、性能<br> 适合 算法 应用/开发 工程师/专家、算法测试 工程师/专家、AI/机器学习/算法 工程师/专家/研究员/科学家 等</p> <p><strong>不用提前标注画框及标签</strong>等作为 Ground Truth 这种工作量巨大的人工手动繁琐耗时操作,<br> <strong>只需上传图片/视频</strong>,一键通过 HTTP API 调用算法模型得到推理后返回的 JSON 响应结果,<br> 然后<strong>自动在图上绘制</strong> label 标签、box 画框、line 连线、point 关键点、polygon 多边形等,<br> <strong>自动断言</strong>画框是否正确,<strong>可点边框附近来调整 ✓ 对 X 错</strong>,一键上传可作为基准的本次结果,<br> <strong>自动统计</strong>正确数、误报数、漏检数、召回率、精准率、F1 Score 等指标,<strong>自动对比前后效果</strong>。</p> <p><a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/5738175/469930316-847bff1c-bd7d-4ac9-ad7c-7b95f2fa9850.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQ2OTkzMDMxNi04NDdiZmYxYy1iZDdkLTRhYzktYWQ3Yy03Yjk1ZjJmYTk4NTAuanBnP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZmE4MmY5YWZhOTIzOTNhMDE1NzY1YTZiMzVjZGUyY2ExNmNkZmJkMTU5ZTkzMGI1NWFmNTQ0MTYxMGFlNzg5NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.zOaCUhGzD9DAHrmSZs6LyoTFlX7p9kmBGqvU5KwoJzw"><img src="https://private-user-images.githubusercontent.com/5738175/469930316-847bff1c-bd7d-4ac9-ad7c-7b95f2fa9850.jpg?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQ2OTkzMDMxNi04NDdiZmYxYy1iZDdkLTRhYzktYWQ3Yy03Yjk1ZjJmYTk4NTAuanBnP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZmE4MmY5YWZhOTIzOTNhMDE1NzY1YTZiMzVjZGUyY2ExNmNkZmJkMTU5ZTkzMGI1NWFmNTQ0MTYxMGFlNzg5NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.zOaCUhGzD9DAHrmSZs6LyoTFlX7p9kmBGqvU5KwoJzw" alt="CVAuto-with-AIServer" content-type-secured-asset="image/jpeg" style="max-width: 100%;"></a></p> <p>上图左侧是工具网页,右侧是模拟被测试的 YOLO 检测、姿态、分割 等算法模型 Python AI 推理服务;<br> 左侧分别有 本次、对比差异、之前 的推理后画框及标签等渲染图,差异中的 + 表示新增,- 表示减少;<br> 本次 所有框 和 差异所有 + 框 都可<strong>点框附近把默认的 ✓ 改为 X 表示推理误报</strong>,各指标会马上自动更新;<br> 当前图片确认无误后,<strong>点击 [对的,纠正] 按钮来上传本次结果</strong>,点击 总计指标 来切换显示 数量/百分比。<br> <strong>在之前图片右上角输入实际目标数量</strong>;中间图片列表顶部 <strong>点右上角 + 批量上传图片</strong>,<strong>点左侧 ↻ 回归测试</strong>。</p> <h3>支持算法</h3> <ul> <li><strong>目标检测</strong>:行人、车辆、异物、零部件 等</li> <li><strong>物体分类</strong>:车型、快递、鲜花、动植物 等</li> <li><strong>文本识别</strong>:书籍、网页、车牌、包装盒 等</li> <li><strong>姿态估计</strong>:舞蹈、体操、人机交互游戏 等</li> <li><strong>图像分割</strong>:抠图、路人消除、背景替换 等</li> <li><strong>人脸识别</strong>:根据脸部特征 识别出具体是谁</li> <li><strong>旋转校正</strong>:对有直边的物体 校正歪斜角度</li> </ul> <p><strong>一键下载测试报告,包含 头部统计指标 和 每张图明细数据</strong><br> <a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/5738175/484374491-630fee9d-43e6-421c-b1e3-e17ba2b605e1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQ4NDM3NDQ5MS02MzBmZWU5ZC00M2U2LTQyMWMtYjFlMy1lMTdiYTJiNjA1ZTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWU5MmU4NmNhZjk1ZjA2MWY2Y2JiYjhlOTM5Y2NmZjUwMTI0ZjA1ZGU3NDc1NzkzM2ZjNGViODQ5NmFhMzExNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.6KvS0KQPl0ZUYxXm7GiLCL8ZgKqPPDtkyi4Q0ceJNbw"><img src="https://private-user-images.githubusercontent.com/5738175/484374491-630fee9d-43e6-421c-b1e3-e17ba2b605e1.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQ4NDM3NDQ5MS02MzBmZWU5ZC00M2U2LTQyMWMtYjFlMy1lMTdiYTJiNjA1ZTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NWU5MmU4NmNhZjk1ZjA2MWY2Y2JiYjhlOTM5Y2NmZjUwMTI0ZjA1ZGU3NDc1NzkzM2ZjNGViODQ5NmFhMzExNSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.6KvS0KQPl0ZUYxXm7GiLCL8ZgKqPPDtkyi4Q0ceJNbw" alt="CVAuto-report-Excel" content-type-secured-asset="image/png" style="max-width: 100%;"></a></p> <p><strong>一键导出训练和测试数据集,加速模型迭代训练及效果提升</strong><br> <a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/5738175/485692237-f22ccdc9-ee08-49a0-83cf-fcb3e0e4b428.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQ4NTY5MjIzNy1mMjJjY2RjOS1lZTA4LTQ5YTAtODNjZi1mY2IzZTBlNGI0MjgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjlmMmUyMDE5MjIwYTc0OGU5YWFlOGJjYjZiYjg2Yzk0Y2IwMWRlNjg1NDQxN2QzMGU2M2JmOGI2YzBiN2U5YiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.V-ndKFGbZxoMAPDDrldUy9X9JDCiuRHPtudchntBbuI"><img src="https://private-user-images.githubusercontent.com/5738175/485692237-f22ccdc9-ee08-49a0-83cf-fcb3e0e4b428.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQ4NTY5MjIzNy1mMjJjY2RjOS1lZTA4LTQ5YTAtODNjZi1mY2IzZTBlNGI0MjgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjlmMmUyMDE5MjIwYTc0OGU5YWFlOGJjYjZiYjg2Yzk0Y2IwMWRlNjg1NDQxN2QzMGU2M2JmOGI2YzBiN2U5YiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.V-ndKFGbZxoMAPDDrldUy9X9JDCiuRHPtudchntBbuI" alt="CVAuto-export-dataset" content-type-secured-asset="image/png" style="max-width: 100%;"></a></p> <p><strong>创作不易、坚持更难,右上角点亮 ⭐ Star 收藏/支持下本项目吧,谢谢 ^_^</strong><br> <a href="https://github.com/TommyLemon/CVAuto">https://github.com/TommyLemon/CVAuto</a></p> TommyLemon tag:github.com,2008:Repository/74359442/8.1.0.0 2025-12-20T15:37:44Z 8.1.0.0 <p><strong>新增支持 <a href="https://github.com/APIJSON/APIJSON-Demo/commit/abf52c3d0d42097dee79ffb1aed63c087a8bd9c8">Databend</a> - 带 AI 的新一代云原生数据湖仓(Snowflake 开源替代);</strong><br> 新增支持 LEFT,RIGHT JOIN 传外层 WHERE 条件,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wz11wz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wz11wz">@wz11wz</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3242449012" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/829" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/829/hovercard" href="https://github.com/Tencent/APIJSON/pull/829">#829</a>;<br> fix: PG count join 报错找不到 column,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wz11wz/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wz11wz">@wz11wz</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3192314418" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/825" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/825/hovercard" href="https://github.com/Tencent/APIJSON/pull/825">#825</a>;</p> <p><strong>新增支持分库分表中间件 <a href="https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-ShardingSphere">ShardingSphere</a> 的说明;</strong><br> 通用文档新增 函数调用映射 "<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/key/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/key">@key</a>": "fun:avg(id);keyA:(keyB)" ,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/moxixi527/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/moxixi527">@moxixi527</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3302809796" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/836" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/836/hovercard" href="https://github.com/Tencent/APIJSON/pull/836">#836</a>;<br> 通用文档新增 compat 兼容各种 count SQL,感谢 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GeXin97/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GeXin97">@GeXin97</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3261710700" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/832" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/832/hovercard" href="https://github.com/Tencent/APIJSON/pull/832">#832</a>;<br> 依赖说明移除 8.0 起不再依赖的 fastjson;<br> 腾讯开源主体公司 THL A29 Limited 改为 Tencent,并在 LICENSE 头部说明变更;</p> <p>推荐文档新增 <a href="https://blog.csdn.net/gitblog_00682/article/details/148375065" rel="nofollow">APIJSON项目实战教程:零代码实现高效JSON接口开发</a>,感谢 强苹旖 的贡献;<br> 推荐文章新增 <a href="https://blog.csdn.net/longzhutengyue/article/details/150579233" rel="nofollow">springboot整合APIJSON——零代码万能通用 API(附源码)</a>,感谢 程序员码龙 的贡献;<br> 点赞、收藏、转发 支持下两篇文章作者吧 ^_^</p> TommyLemon tag:github.com,2008:Repository/74359442/8.0.2 2025-07-26T14:52:10Z 兼容 Gson; 优化异常堆栈 <p>新增 IS_RETURN_STACK_TRACE 配置是否返回 trace:stack 字段,优化代码;<br> 把 trace:stack 字段值转为 List 返回,避免 Gson 等 JSON 库反序列化报错,并且还更方便浏览;</p> <p>Gson 版 Demo:<a href="https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-Gson">https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-Gson</a></p> <h3>兼容性:</h3> <p>apijson-framework 7.2.0 暂时移除了 UnitAuto(依赖 fastjson 1.x) 依赖及 APIJSONFunctionParser 中对应的方法<br> getMethodArguments, getMethodDefinition, getMethodRequest,<br> 但在 Function 表中,字段 name 和以上方法名相同的记录会导致启动报错找不到远程函数对应方法,<br> 可以删除后再启动应用,或者在 DemoFunctionParser 加上对应的空实现。<br> <a href="https://github.com/APIJSON/apijson-framework/releases/tag/7.2.2">https://github.com/APIJSON/apijson-framework/releases/tag/7.2.2</a><br> <a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/5738175/471094147-13b19ed1-a304-4f8c-a54e-2a2488d598e5.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQ3MTA5NDE0Ny0xM2IxOWVkMS1hMzA0LTRmOGMtYTU0ZS0yYTI0ODhkNTk4ZTUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDNmMzE0YzdmYTZjMmUzZjVmYTgxMDBiYjY2NWFlYjFjYmVjOGU3YWJhNjQ1MTk4MDM2YzhhNjgyOGQwZmNiZCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.NqcOti-oWq9VfqdLPBlweMHDVcTAkkTJId_e_eATvaY"><img width="2000" height="1750" alt="image" src="https://private-user-images.githubusercontent.com/5738175/471094147-13b19ed1-a304-4f8c-a54e-2a2488d598e5.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQ3MTA5NDE0Ny0xM2IxOWVkMS1hMzA0LTRmOGMtYTU0ZS0yYTI0ODhkNTk4ZTUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZDNmMzE0YzdmYTZjMmUzZjVmYTgxMDBiYjY2NWFlYjFjYmVjOGU3YWJhNjQ1MTk4MDM2YzhhNjgyOGQwZmNiZCZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.NqcOti-oWq9VfqdLPBlweMHDVcTAkkTJId_e_eATvaY" content-type-secured-asset="image/png" style="max-width: 100%; height: auto; max-height: 1750px;"></a></p> TommyLemon tag:github.com,2008:Repository/74359442/8.0.0 2025-06-29T14:16:10Z 去 fastjson; 增 Doris <h3>去除 fastjson,M extends Map&lt;String, Object&gt; 替代 JSONObject, L extends List&lt;Object&gt; 替代 JSONArray:</h3> <h4>1.支持 jackson, gson, fastjson2, fastjson 等各种 JSON 库;</h4> <h4>2.目前已新增 gson 和 fastjson2 插件,右上角点亮 ⭐️ Star 支持下吧 ^_^</h4> <p><a href="https://github.com/APIJSON/apijson-gson">https://github.com/APIJSON/apijson-gson</a><br> <a href="https://github.com/APIJSON/apijson-fastjson2">https://github.com/APIJSON/apijson-fastjson2</a><br> Gson 版 Demo:<a href="https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-Gson">https://github.com/APIJSON/APIJSON-Demo/tree/master/APIJSON-Java-Server/APIJSONDemo-Gson</a></p> <h4>3.新增使用 APIJSON 8 及 apijson-fastjson2 的 Demo</h4> <p><a href="https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/pom.xml#L25-L35">https://github.com/APIJSON/APIJSON-Demo/blob/master/APIJSON-Java-Server/APIJSONBoot-MultiDataSource/pom.xml#L25-L35</a></p> <h3>新增支持 Doris-高性能实时湖仓一体数据库;</h3> <p>新增 getConnection(String key) 和 putConnection(String key, Connection connection);<br> 修复请求 json 的 key 为 JSONArray 时类型转换异常问题,感谢小红书工程师 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DenineLu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DenineLu">@DenineLu</a> 的贡献 <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2979642673" data-permission-text="Title is private" data-url="https://github.com/Tencent/APIJSON/issues/808" data-hovercard-type="pull_request" data-hovercard-url="/Tencent/APIJSON/pull/808/hovercard" href="https://github.com/Tencent/APIJSON/pull/808">#808</a>;<br> 解决返回 database, schema 等信息;<br> 调整全能 CRUD 文档:修改错误、优化 JSON 格式、标记弃用第二种方式 <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/method/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/method">@method</a>;</p> <h3>新增 杭州独角兽企业 资深技术专家 的文章:APIJSON腾讯开源的后端开发神器!!!</h3> <p>感谢 35岁程序员那些事 的分享,点赞、收藏、转发支持下作者吧~<br> <a href="https://cloud.tencent.com/developer/article/2372220" rel="nofollow">https://cloud.tencent.com/developer/article/2372220</a></p> <a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/5738175/435479961-8e313876-5a65-4a36-b922-80d6b38facde.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQzNTQ3OTk2MS04ZTMxMzg3Ni01YTY1LTRhMzYtYjkyMi04MGQ2YjM4ZmFjZGUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OWU4YmUxZDkzNjRlOGEyNWVjMjIzMmQ0ZjY3ZjNiNzM3ODVmMWY1ZGRhZjQzMWViZWQ1OWZhZjUyNDE4ZmRiMyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.XVvJk8vuQYTWQek8btYWNd_ajrc_oWGaDlV8NheIgH4"><img width="1531" alt="Image" src="https://private-user-images.githubusercontent.com/5738175/435479961-8e313876-5a65-4a36-b922-80d6b38facde.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQwODI4ODgsIm5iZiI6MTc3NDA4MjU4OCwicGF0aCI6Ii81NzM4MTc1LzQzNTQ3OTk2MS04ZTMxMzg3Ni01YTY1LTRhMzYtYjkyMi04MGQ2YjM4ZmFjZGUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDMyMSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAzMjFUMDg0MzA4WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OWU4YmUxZDkzNjRlOGEyNWVjMjIzMmQ0ZjY3ZjNiNzM3ODVmMWY1ZGRhZjQzMWViZWQ1OWZhZjUyNDE4ZmRiMyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.XVvJk8vuQYTWQek8btYWNd_ajrc_oWGaDlV8NheIgH4" content-type-secured-asset="image/png" style="max-width: 100%;"></a> TommyLemon tag:github.com,2008:Repository/74359442/7.9.0 2025-03-16T10:12:02Z 新增 QuestDB, ASOF JOIN, SAMPLE, LATEST, PARTITION, FILL 等 <p><strong>新增支持 QuestDB-高性能实时分析时序数据库;</strong><br> <strong>新增支持 ~ ASOF JOIN, SAMPLE BY, LATEST ON, PARTITION BY, FILL(LINEAR) 等关键词及与语法;</strong><br> 简化 StringUtil 中各种字符串相关方法;<br> 优化代码;</p> <h2>兼容性</h2> <p><strong>AbstractSQLExecutor 中以下 3 个方法都在最后加了 1 个参数 Map&lt;String, String&gt; keyMap,如果你的项目中有 extends AbstractSQLExecutor 的子类并且重写了以上任意一个方法,则都需要在最后加上这个参数:</strong></p> <div class="highlight highlight-source-java notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="String getKey(@NotNull SQLConfig&lt;T&gt; config, @NotNull ResultSet rs, @NotNull ResultSetMetaData rsmd, int row, @NotNull JSONObject table, int columnIndex, Map&lt;String, JSONObject&gt; childMap, Map&lt;String, String&gt; keyMap) throws Exception Object getValue(@NotNull SQLConfig&lt;T&gt; config, @NotNull ResultSet rs, @NotNull ResultSetMetaData rsmd, int row, @NotNull JSONObject table, int columnIndex, String label, Map&lt;String, JSONObject&gt; childMap, Map&lt;String, String&gt; keyMap) throws Exception JSONObject onPutColumn(@NotNull SQLConfig&lt;T&gt; config, @NotNull ResultSet rs, @NotNull ResultSetMetaData rsmd, int row, @NotNull JSONObject table, int columnIndex, Join join, Map&lt;String, JSONObject&gt; childMap, Map&lt;String, String&gt; keyMap) throws Exception"><pre><span class="pl-smi">String</span> <span class="pl-en">getKey</span>(<span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">SQLConfig</span>&lt;<span class="pl-smi">T</span>&gt; <span class="pl-s1">config</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">ResultSet</span> <span class="pl-s1">rs</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">ResultSetMetaData</span> <span class="pl-s1">rsmd</span>, <span class="pl-smi">int</span> <span class="pl-s1">row</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">JSONObject</span> <span class="pl-s1">table</span>, <span class="pl-smi">int</span> <span class="pl-s1">columnIndex</span>, <span class="pl-smi">Map</span>&lt;<span class="pl-smi">String</span>, <span class="pl-smi">JSONObject</span>&gt; <span class="pl-s1">childMap</span>, <span class="pl-smi">Map</span>&lt;<span class="pl-smi">String</span>, <span class="pl-smi">String</span>&gt; <span class="pl-s1">keyMap</span>) <span class="pl-k">throws</span> <span class="pl-smi">Exception</span> <span class="pl-smi">Object</span> <span class="pl-en">getValue</span>(<span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">SQLConfig</span>&lt;<span class="pl-smi">T</span>&gt; <span class="pl-s1">config</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">ResultSet</span> <span class="pl-s1">rs</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">ResultSetMetaData</span> <span class="pl-s1">rsmd</span>, <span class="pl-smi">int</span> <span class="pl-s1">row</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">JSONObject</span> <span class="pl-s1">table</span>, <span class="pl-smi">int</span> <span class="pl-s1">columnIndex</span>, <span class="pl-smi">String</span> <span class="pl-s1">label</span>, <span class="pl-smi">Map</span>&lt;<span class="pl-smi">String</span>, <span class="pl-smi">JSONObject</span>&gt; <span class="pl-s1">childMap</span>, <span class="pl-smi">Map</span>&lt;<span class="pl-smi">String</span>, <span class="pl-smi">String</span>&gt; <span class="pl-s1">keyMap</span>) <span class="pl-k">throws</span> <span class="pl-smi">Exception</span> <span class="pl-smi">JSONObject</span> <span class="pl-en">onPutColumn</span>(<span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">SQLConfig</span>&lt;<span class="pl-smi">T</span>&gt; <span class="pl-s1">config</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">ResultSet</span> <span class="pl-s1">rs</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">ResultSetMetaData</span> <span class="pl-s1">rsmd</span>, <span class="pl-smi">int</span> <span class="pl-s1">row</span>, <span class="pl-c1">@</span><span class="pl-c1">NotNull</span> <span class="pl-smi">JSONObject</span> <span class="pl-s1">table</span>, <span class="pl-smi">int</span> <span class="pl-s1">columnIndex</span>, <span class="pl-smi">Join</span> <span class="pl-s1">join</span>, <span class="pl-smi">Map</span>&lt;<span class="pl-smi">String</span>, <span class="pl-smi">JSONObject</span>&gt; <span class="pl-s1">childMap</span>, <span class="pl-smi">Map</span>&lt;<span class="pl-smi">String</span>, <span class="pl-smi">String</span>&gt; <span class="pl-s1">keyMap</span>) <span class="pl-k">throws</span> <span class="pl-smi">Exception</span></pre></div> TommyLemon tag:github.com,2008:Repository/74359442/7.8.0 2025-03-09T14:27:56Z 支持 TimescaleDB <p>新增支持 TimescaleDB-高性能实时分析时序数据库,基于 PostgreSQL 并兼容 PostgreSQL 协议</p> TommyLemon tag:github.com,2008:Repository/74359442/7.7.0 2025-03-02T16:41:37Z 支持 ManticoreSearch 搜索引擎 <p>新增支持 ManticoreSearch-替代 Elasticsearch 的轻量级搜索引擎,兼容 MySQL 协议</p> TommyLemon tag:github.com,2008:Repository/74359442/7.6.0 2025-03-01T14:32:15Z 支持 CockroachDB <p>新增支持 CockroachDB</p> TommyLemon tag:github.com,2008:Repository/74359442/7.5.5 2025-02-16T14:59:40Z 兼容 JDK 1.8+ <p>打包用的 JDK 17 改为 1.8 并 移除指定 JDK 17 打包的 jitpack.yml,兼容 1.8~16 的低版本 JDK</p> TommyLemon tag:github.com,2008:Repository/74359442/7.4.0 2025-01-31T09:53:29Z 7.4.0-preview <p>7.4.0 preview release</p> TommyLemon