APIJSON 5.0.0 发布,零代码强安全 ORM 库

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

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

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

 

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

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

 

APIJSON 5.0.0 更新内容:条件任意组合、增强 JOIN, HAVING 等各种功能

功能

条件组合新增支持任意逻辑表达式 @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

 

完整更新日志具体见 Release 发布版本

 

APIJSON 简介

APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。
为各种增删改查提供了完全自动化的万能 API,零代码实时满足千变万化的各种新增和变更需求。
能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。
适合中小型前后端分离的项目,尤其是 初创项目、内部项目、低代码/零代码、小程序、BaaS、Serverless 等。

通过万能的 API,前端可以定制任何数据、任何结构。
大部分 HTTP 请求后端再也不用写接口了,更不用写文档了。
前端再也不用和后端沟通接口或文档问题了。再也不会被文档各种错误坑了。
后端再也不用为了兼容旧接口写新版接口和文档了。再也不会被前端随时随地没完没了地烦了。

为什么选择 APIJSON?

  • 解决十大痛点 (APIJSON 可大幅提振开发效率、强力杜绝联调扯皮、巧妙规避文档缺陷、非常节省流量带宽等)
  • 开发提速很大 (CRUD 零代码热更新全自动,APIJSONBoot 对比 SSM、SSH 等保守估计可提速 20 倍以上)
  • 腾讯官方开源 (使用 GitHub、Gitee、工蜂 等平台的官方账号开源,微信公众号、腾讯云+社区 等官方公告)
  • 社区影响力大 (GitHub 1W+ Star 在 400W+ Java 项目中排名前 110,远超 FLAG, BAT 等国内外绝大部分开源项目)
  • 各项荣誉成就 (腾讯内外 5 个奖项、腾讯开源前十、腾讯后端项目 Star 第一、GitHub Java 日周月榜大满贯 等)
  • 多样用户案例 (腾讯内部用户包含 互娱、音乐、云与智慧,外部用户包含 500 强上市公司、数千亿资本国企 等)
  • 适用场景广泛 (社交聊天、阅读资讯、影音视频、办公学习 等各种 App、网站、公众号、小程序 等非金融类项目)
  • 周边生态丰富 (Android, iOS, Web 等各种 Demo、继承 JSON 的海量生态、零代码 接口测试 和 单元测试 工具等)
  • 文档视频齐全 (项目介绍、快速上手、安装部署 等后端、前端、客户端的 图文解说、视频教程、代码注释 等)
  • 功能丰富强大 (增删改查、分页排序、分组聚合、各种条件、各种 JOIN、各种子查询、跨库连表 等零代码实现)
  • 使用安全简单 (自动增删改查、自动生成文档、自动管理版本、自动控制权限、自动校验参数、自动防SQL注入等)
  • 灵活定制业务 (在后端编写 远程函数,可以拿到 session、version、当前 JSON 对象 等,然后自定义处理)
  • 高质可靠代码 (代码严谨规范,商业分析软件源伞 Pinpoint 代码扫描报告平均每行代码 Bug 率低至 0.15%)
  • 兼容各种项目 (协议不限 HTTP,与其它库无冲突,对各类 Web 框架集成友好且提供 SpringBoot, JFinal 的 Demo)
  • 工程轻量小巧 (仅依赖 fastjson,Jar 仅 280KB,Java 文件仅 59 个共 13719 行代码,例如 APIJSONORM 4.3.1)
  • 多年持续迭代 (自 2016 年开源至今已连续维护 5 年多,累计 2600+ Commits、80+ Releases,不断更新迭代中...)

APIJSON 生态项目

hyperf-APIJSON 【新】PHP 版 APIJSON,基于 Hyperf(PHP Swoole),支持 APIJSON 多种关联和多个功能

APIJSON.NET C# 版 APIJSON,支持大部分 APIJSON 功能,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite

apijson-go 【新】Go 版 APIJSON,支持 单表查询、列表筛选、关联查询、多个功能符等

apijson-node 字节跳动工程师开发的 Node.ts 版 APIJSON,提供 nestjs 和 typeorm 的 Demo

uliweb-apijson Python 版 APIJSON,支持大部分 APIJSON 功能,支持 MySQL, PostgreSQL, SQL Server, Oracle 等

APIJSONBoot_Hive 【新】APIJSON + SpringBoot 连接 Hive, Hadoop 使用的 Demo

apijson-practice【新】BAT 技术专家开源的 APIJSON 参数校验注解 Library 及相关 Demo

APIJSONDemo【新】APIJSON 接入 ClickHouse 使用 Demo

APIJSONDemo_ClickHouse 【新】APIJSON + SpringBoot 连接 ClickHouse 使用的 Demo

apijson-db2 APIJSON 接入 IBM 数据库 DB2 的 Demo

light4j 整合 APIJSON 和微服务框架 light-4j 的 Demo,同时接入了 Redis

apijson-examples 关于 APIJSON 包含 admin, upms, web 的多端 Demo

感谢热心的作者们的贡献,点 ⭐Star 鼓励他们继续完善吧^_^

​腾讯 APIJSON - 零代码、全自动、强安全 ORM

后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构!

https://gitee.com/Tencent/APIJSON

创作不易、坚持更难,右上角点 ⭐Star 支持下吧 ^_^

猜你喜欢

转载自www.oschina.net/news/190984