首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >腾讯出品:后端开发的零代码神器来了

腾讯出品:后端开发的零代码神器来了

作者头像
GoLang学习记
发布2026-02-27 13:12:26
发布2026-02-27 13:12:26
1980
举报

雨落屋檐的瞬间 已是我们全部的缘分

一、项目简介:什么是 APIJSON?

APIJSON 是腾讯开源的一款 专为 API 而生的 JSON 网络传输协议ORM 库,其核心理念是:

“前端定制返回 JSON 的数据和结构,后端零代码实现万能通用增删改查。”

在这里插入图片描述
在这里插入图片描述

想象一下传统开发:后端写一堆Controller,处理跨库JOIN、嵌套子查询、权限校验,还要防SQL注入;前端每次改需求,就得找后端改接口,沟通成本爆炸。APIJSON直接砍掉这些痛点。

它彻底改变了传统前后端协作开发模式:

传统模式

APIJSON 模式

前端需求 → 后端改接口 → 写文档 → 联调

前端直接写请求 JSON → 后端通用接口自动响应

每次变更都要改代码、测接口、更新文档

零代码热更新,实时生效

接口版本管理繁杂

永久兼容,无需划分版本

💡 一句话总结:“所求即所得,要啥有啥。”

而且,目前APIJSON已经发展到8版本了, Github Star数量为18k,Fork数量为2.4k,目前在腾讯开源的Java项目中排名第2,牛逼成都不言而喻。


二、核心特性

零代码 CRUD 自动支持:单表/多表关联、JOIN、子查询、分页、排序、聚合、跨库连表等,效率至少提升20倍。

强安全性保障

  • 自动防 SQL 注入
  • 行级权限控制(通过 Access 表配置)
  • 请求参数校验(Request 表 + 远程函数)
  • 自动管理版本与兼容性

自动生成文档 请求即文档,无需人工编写与维护,支持静态检查与光标悬停注释。

高灵活性 & 扩展性

  • 支持远程函数(Remote Function)自定义业务逻辑
  • 插件化架构:apijson-router, apijson-column, apijson-mongodb
  • 多语言生态:Java(主)、Go、Node.js、Python、PHP、C#、Rust…

极致轻量高效

  • Jar 仅 263KB
  • 无第三方依赖
  • GitHub ⭐ 18K+ Star,Java 项目排名前 100

三、快速上手:5 分钟体验 APIJSON

1️⃣ 准备工作

  • 方式一(推荐):直接使用公共测试服务器 POST http://apijson.cn:8080/get
  • 方式二:本地部署(需 Java + MySQL) git clone https://github.com/Tencent/APIJSON-Demo.git cd APIJSON-Demo/APIJSONBoot ./mvnw spring-boot:run

2️⃣ 编写你的第一个请求

以「查询用户 id=70793 信息 + 他发布的前 2 条动态 + 每条动态的前 3 条评论」为例:

代码语言:javascript
复制
{

"User":{

"id":70793

},

"Moment[]":{

"userId":70793,

"count":2

},

"[]":{

"count":3,

"Moment":{

"id@":"/Moment[]/id"

},

"Comment[]":{

"momentId@":"[]/Moment/id"

}

}

}

🔔 注意: - 表名首字母大写(如 User, Moment) - @ 符号用于引用路径(如 id@: "/Moment[]/id") - 所有字段名、关键词大小写敏感、空格敏感

APIJSON 多表关联查询、结构自由组合

在这里插入图片描述
在这里插入图片描述

APIAuto 自动生成前端(客户端)请求代码 和 Python 测试用例代码,支持一键下载

在这里插入图片描述
在这里插入图片描述

3️⃣ 发送请求 & 查看响应

使用 APIAuto(APIJSON 官方测试工具)一键测试:

APIAuto 工具界面
APIAuto 工具界面

▲ 使用 APIAuto 编写请求、查看响应、生成前端代码

响应示例(精简):

代码语言:javascript
复制
{

"User":{

"id":70793,

"name":"Tommy",

"sex":1

},

"Moment[]":[

{

"id":15,

"content":"Hello APIJSON!",

"Comment[]":[

{"id":1,"content":"666"},

{"id":2,"content":"强!"},

{"id":3,"content":"求教程"}

]

},

{

"id":14,

"content":"零代码真香",

"Comment[]":[

{"id":4,"content":"已 star"}

]

}

],

"ok":true,

"code":200

}

一次请求,任意嵌套结构;所见即所得,精准返回所需数据!


四、权限与安全:如何保障生产环境安全?

APIJSON 默认禁止所有访问,需主动配置:

1. 行级权限(Access 表)

代码语言:javascript
复制
INSERTINTO`Access`(`id`,`method`,`tag`,`role`,`permission`)

VALUES

(1,'GET','User','LOGIN','id,name,sex'),-- 登录用户可查 User 的部分字段

(2,'POST','User','ADMIN','id,name,sex,phone,mail');-- 管理员可新增全字段

2. 请求校验(Request 表 + 远程函数)

代码语言:javascript
复制
{

"User":{

"name?":"REGEXP ^[\\u4e00-\\u9fa5]{2,4}$"

}

}

→ 校验 name 必须为 2~4 位中文。

自定义函数(Java):

代码语言:javascript
复制
publicObjectverifyName(Session session,Object object,String methodName,String tag){

JSONObject req =(JSONObject) object;

String name = req.getString("name");

if(!name.matches("^[\u4e00-\u9fa5]{2,4}$")){

thrownewIllegalArgumentException("姓名必须为2-4个汉字");

}

returnnull;// 无异常即通过

}

🏢 实际用户

公司

应用场景

腾讯(IEG、微信、音乐)

内部数据中台、管理后台

华为

快速搭建内部系统

百度智慧城市

协议层统一数据接口

圆通速递

物流信息查询系统

传音控股

海外 App 后台服务

用户 Logo 墙
用户 Logo 墙

六、性能与效率对比

以下为 SSMH(传统框架) vs APIJSONBoot 开发耗时估算:

表数

字段数/表

SSMH 用时

APIJSONBoot 用时

提速

10

10

8550 min(≈142h)

320 min(≈5.3h)

26.7×

50

20

176750 min(≈2945h)

3100 min(≈52h)

57×

📌 某腾讯 IEG 负责人评价: “APIJSON 可做到零代码生成接口和文档,当企业有元数据时,马上就可以获得接口。”


七、总结:为什么选择 APIJSON?

维度

价值

💰 降本

节省 70%+ 后端接口开发时间,减少沟通成本

⚡ 提效

需求变更 → 前端改 JSON → 实时生效

🔐 安全

权限粒度到行、字段,自动防注入

🌐 生态

多语言、多数据库、多工具链支持

🚀 未来

适配低代码/Serverless/小程序趋势

✅ 适合场景: 创业项目|内部系统|管理后台|小程序|数据中台|API 网关底层引擎

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-12-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 golang学习记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、项目简介:什么是 APIJSON?
  • 二、核心特性
  • 三、快速上手:5 分钟体验 APIJSON
    • 1️⃣ 准备工作
    • 2️⃣ 编写你的第一个请求
    • 3️⃣ 发送请求 & 查看响应
  • 四、权限与安全:如何保障生产环境安全?
    • 1. 行级权限(Access 表)
    • 2. 请求校验(Request 表 + 远程函数)
    • 🏢 实际用户
  • 六、性能与效率对比
  • 七、总结:为什么选择 APIJSON?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档