腾讯 APIJSON:让后端 CRUD 写到怀疑人生的 ORM 工具

📅 2026/7/8 9:06:21 👁️ 阅读次数 📝 编程学习
腾讯 APIJSON:让后端 CRUD 写到怀疑人生的 ORM 工具

文章目录

  • 腾讯 APIJSON:让后端 CRUD 写到怀疑人生的 ORM 工具
    • 1、这工具解决的是什么问题
    • 2、它能做到什么程度
    • 3、前端怎么用
    • 4、谁在用
    • 5、适合什么场景

腾讯 APIJSON:让后端 CRUD 写到怀疑人生的 ORM 工具

APIJSON 在 GitHub 上拿到了 18.3K Star。

腾讯开源了这个项目,定位是一个基于 JSON 的 ORM 库,外加一整套接口通信协议。它要做的事情很聚焦:把后端 CRUD 接口的开发工作量压到接近零。

1、这工具解决的是什么问题

写过中等规模后端的人都知道,大部分接口都是 CRUD。增删改查五个动作,每个表写一遍,写完还要写文档,写完文档还要陪前端对接口字段,前端口偏差一点回头改后端代码再重发一次。一个项目里 70% 的后端代码都在干这个体力活。

APIJSON 想把这层体力活干掉。它直接让前端通过 JSON 描述要什么数据、要哪些字段、关联哪几张表,后端拿到 JSON 后自动解析、自动拼接 SQL、自动返回结构化的 JSON。

整个流程下来,后端开发者几乎不用写增删改查接口。配置好表结构和权限,剩下的让协议自己处理。

2、它能做到什么程度

支持的特性里,比较关键的几条:

  • 前端一次请求可以同时查多张关联表,返回的 JSON 结构由前端自己定
  • 支持模糊搜索、远程函数调用、CRUD 全套读写
  • 自动生成接口文档,前端不再依赖后端口头描述字段含义
  • 兼容老版本接口,后端升级时旧 App 不会突然挂掉

数据库支持横跨 MySQL、PostgreSQL、SQLServer、Oracle、DB2、MariaDB、TiDB、ClickHouse、DuckDB、Elasticsearch、Redis、Kafka、Snowflake、Hive、MongoDB Atlas、Cassandra、InfluxDB、TDengine、TimescaleDB 等,差不多覆盖了主流关系型、时序型、文档型、搜索型的数据库。

3、前端怎么用

前端这一侧的逻辑变了。原来调接口要看后端定义了什么 endpoint,现在前端可以自己拼 JSON 描述想要的数据形状。

举个例子,要查用户的朋友列表里朋友的帖子评论,传统做法是后端写一个专门的接口,前端调一下拿结果。APIJSON 里前端直接在自己的请求 JSON 里把三张表的关系写出来,发给同一个 endpoint,后端解析后一次返回所有数据。

这种做法的好处是接口数量大幅压缩,不用为了每个新需求新增 endpoint。坏处是前端需要理解表结构,权限控制必须配置得很严,否则容易查到不该查的字段。

4、谁在用

README 列出的使用方包括传音控股、社保中国、厦门小鱼网等公司。腾讯自己内部也在用,毕竟是腾讯开源出来的项目。

5、适合什么场景

  • 中后台管理系统、企业内部工具,CRUD 接口数量爆炸、迭代频繁的项目
  • 需要快速搭原型、对接多个数据源的小团队
  • 愿意接受协议约束、能投入精力配置权限规则的团队

如果是面向外部的高并发 C 端接口,或者对 SQL 执行计划有严格定制需求的项目,直接套 APIJSON 不一定合适。它更像是一个能让内部业务长得快、迭代成本压得低的工具,把后端开发从重复劳动里解放出来去做更值钱的活。

像是一个能让内部业务长得快、迭代成本压得低的工具,把后端开发从重复劳动里解放出来去做更值钱的活。