当前位置: 首页 > news >正文

腾讯 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 不一定合适。它更像是一个能让内部业务长得快、迭代成本压得低的工具,把后端开发从重复劳动里解放出来去做更值钱的活。

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

http://www.jsqmd.com/news/1146755/

相关文章:

  • 鸿蒙多设备办公怎么协作?三个场景效率实打实提升
  • IIM-20670与MK20DN128VFM5高精度运动跟踪方案详解
  • 如何免费获取Steam创意工坊模组:WorkshopDL跨平台下载工具完整指南
  • 从成像到鉴权:Windows Hello 多模态生物识别完整技术链路科普
  • 【计算机Java毕业设计案例】基于 SpringBoot+Vue 的宠物寄养评价反馈系统的设计与实现 基于前后端分离的宠物寄养收费台账管理系统(程序+文档+讲解+定制)
  • kunpeng-extension-for-pytorch社区贡献指南:如何参与开源AI项目
  • 抖音下载器:3分钟实现无水印批量下载的完整指南
  • JDspyder京东抢购脚本:3分钟快速部署的自动化抢购终极指南
  • 【AI原理】LLM 解析:底层原理 + 主流模型选型 + 通用 API 接入 + DeepSeek API 全流程落地
  • 为什么越来越多便携设备开始采用PD供电?30W无电池补光棒方案分析
  • Deceive终极指南:如何在Riot游戏中实现完美隐身,保持社交功能完整
  • 2026.7.7:C++命令行解析开源库cxxopts上手教程
  • Sulfo-CY5-COOH┃磺化花菁染料CY5羧基┃Sulfo-Cyanine5 Carboxylic Acid┃CAS 1121756-16-8┃水溶性近红外荧光标记试剂
  • 3分钟快速上手:Switch图形化注入工具TegraRcmGUI终极指南
  • YOLOv8 架构解析:从 C2f 模块到 Anchor-Free 检测头的 3 大核心改进
  • 输送机配件多渠道采购对比方法有哪些?2026 工厂成本管控实操指南
  • 蚂蚁灵波空间感知模型LingBot-Depth 2.0正式发布
  • 抖音无水印批量下载终极指南:3分钟搞定视频、音乐、图集一键保存
  • 家用手工缝纫照明升级:多功能可调光衣车灯的场景适配解析
  • 机器学习模型评估:从混淆矩阵到F1-Score,5个核心指标实战解读
  • CW方程MATLAB/STK仿真对比:解析解与数值解误差分析(附3种摄动源影响)
  • 工业级伺服电机 I2T 保护怎么做
  • 告别低效CRUD!2026 Go高并发实战:万字详解协程与通道,解决业务高频卡顿问题
  • 高效智能工具:BetterNCM安装器快速上手指南
  • 薪资是传统行业 3 倍!年薪 20-60W・16 薪的网络安全,为何成黄金赛道?
  • 解锁老旧Mac的终极性能重生:OpenCore Legacy Patcher深度解析
  • 百考通「降重+降AI」专治好论文被算法冤枉
  • 污水提升泵站可视化管理平台方案
  • YOLO-NAS 与 YOLOv8 实战对比:在 Roboflow-100 上微调,mAP 提升 3-5 个点
  • Java毕设选题推荐:基于 SpringBoot 的新闻活动预约与发布管理系统的设计与实现 基于 SpringBoot 的媒体发布会参会管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】