MCPcopy Index your code
hub / github.com/Tencent/APIJSON

github.com/Tencent/APIJSON @8.1.8 sqlite

repository ↗ · DeepWiki ↗ · release 8.1.8 ↗
1,296 symbols 3,736 edges 68 files 437 documented · 34%
README

Tencent is pleased to support the open source community by making APIJSON available.

Copyright (C) 2020 Tencent. All rights reserved.

This source code is licensed under the Apache License Version 2.0

APIJSON

🏆 实时 零代码、全功能、强安全 ORM 库 🚀

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

English 通用文档 视频教程 测试用例 AI 问答



导航目录: 项目简介 上手使用 社区生态      完整详细的导航目录 点这里查看

APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。

为各种增删改查提供了完全自动化的万能通用接口,零代码实时满足千变万化的各种新增和变更需求。

能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。

适合中小型前后端分离的项目,尤其是 创业项目、内部项目、低代码/零代码、小程序、BaaS、Serverless 等。

通过万能通用接口,前端可以定制任何数据、任何结构。

大部分 HTTP 请求后端再也不用写接口了,更不用写文档了。

前端再也不用和后端沟通接口或文档问题了。再也不会被文档各种错误坑了。

后端再也不用为了兼容旧接口写新版接口和文档了。再也不会被前端随时随地没完没了地烦了。

特点功能

对于后端

  • 提供万能通用接口,大部分 HTTP API 不用再写
  • 零代码增删改查、各种跨库连表、JOIN 嵌套子查询等
  • 自动生成文档,不用再编写和维护,且自动静态检查
  • 自动校验权限、自动管理版本、自动防 SQL 注入
  • 开放 HTTP API 无需划分版本,始终保持兼容

对于前端

  • 不用再向后端催接口、求文档
  • 数据和结构完全定制,要啥有啥
  • 看请求知结果,所求即所得
  • 可一次获取任何数据、任何结构
  • 能去除多余数据,节省流量提高速度

APIJSON 接口展示

Postman 展示 APIJSON

APIAuto 展示 APIJSON

使用 APIAuto-机器学习接口工具 来管理和测试 HTTP API 可大幅 减少传参错误、提升联调效率

(注意网页工具界面是 APIAuto,里面的 URL+JSON 才是 APIJSON 的 HTTP API):

APIJSON 多表关联查询、结构自由组合,APIAuto 多个测试账号、一键共享测试用例

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

APIAuto 自动保存请求记录、自动生成接口文档,可添加常用请求、快捷查看一键恢复

APIAuto 一键自动接口回归测试,不需要写任何代码(注解、注释等全都不要)

一图胜千言 - APIJSON 部分基础功能概览

APIJSON App 演示

使用 APIJSON + ZBLibrary 开发的 Android 客户端 Demo (以下 Gif 图看起来比较卡,实际上运行很流畅):

APIJSON 分享演讲

APIJSON-零代码接口与文档 ORM 库(国际开源谷 Gitee Meetup)

https://www.bilibili.com/video/BV1Tv411t74v

image

APIJSON 和 APIAuto-零代码开发和测试(QECon 全球软件质量&效能大会)

https://www.bilibili.com/video/BV1yv411p7Y4

wecom-temp-377bbd0daf5aed716baf7ebcb003d94c

为什么选择 APIJSON?

前后端 关于接口的 开发、文档、联调 等 10 大痛点解析

https://github.com/Tencent/APIJSON/wiki

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

按照一般互联网中小型项目情况可得出以下对比表格:

表数量 T 平均每表字段数 C SSMH 按快估计 APIJSONBoot 按慢估计 APIJSONBoot 提速倍数
1 3 179 min(约一上午) 11 min(约十分钟) 15.27
5 4 1935 min(约朝九晚六一周) 70 min(约一小时) 26.64
10 10 8550 min(大小周超半个月) 320 min(约一下午) 25.72
20 15 31900 min(约 996 两个月) 940 min(约上班两天) 32.94
50 20 176750 min(11117 超半年) 3100 min(约上班一周) 56.02

用户反馈

腾讯 IEG 数据产品开发组负责人 xinlin: “腾讯的 APIJSON 开源方案,它可以做到零代码生成接口和文档,并且整个生成过程是自动化。当企业有元数据的时候,马上就可以获得接口”

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

**腾讯 bo

Extension points exported contracts — how you extend this code

JSONParser (Interface)
JSON 相关解析器 @author Lemon [1 implementers]
APIJSONORM/src/main/java/apijson/JSONParser.java
JSONCreator (Interface)
JSON相关创建器 @author Lemon [1 implementers]
APIJSONORM/src/main/java/apijson/JSONCreator.java
JSONList (Interface)
Custom JSONList implementation based on ArrayList to replace com.alibaba.fastjson.JSONList Maintains same API as fastjso [1 …
APIJSONORM/src/main/java/apijson/JSONList.java
ObjectParser (Interface)
简化Parser,getObject和getArray(getArrayConfig)都能用 @author Lemon [1 implementers]
APIJSONORM/src/main/java/apijson/orm/ObjectParser.java
FunctionParser (Interface)
远程函数解析器 @author Lemon [1 implementers]
APIJSONORM/src/main/java/apijson/orm/FunctionParser.java

Core symbols most depended-on inside this repo

put
called by 797
APIJSONORM/src/main/java/apijson/JSONMap.java
equals
called by 159
APIJSONORM/src/main/java/apijson/SQL.java
get
called by 156
APIJSONORM/src/main/java/apijson/orm/JSONRequest.java
length
called by 125
APIJSONORM/src/main/java/apijson/SQL.java
isEmpty
called by 122
APIJSONORM/src/main/java/apijson/StringUtil.java
isEmpty
called by 105
APIJSONORM/src/main/java/apijson/orm/Pair.java
get
called by 69
APIJSONORM/src/main/java/apijson/StringUtil.java
remove
called by 69
APIJSONORM/src/main/java/apijson/orm/JSONRequest.java

Shape

Method 1,230
Class 45
Interface 19
Enum 2

Languages

Java100%

Modules by API surface

APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java246 symbols
APIJSONORM/src/main/java/apijson/orm/SQLConfig.java172 symbols
APIJSONORM/src/main/java/apijson/orm/AbstractParser.java106 symbols
APIJSONORM/src/main/java/apijson/orm/Join.java63 symbols
APIJSONORM/src/main/java/apijson/orm/Parser.java60 symbols
APIJSONORM/src/main/java/apijson/JSONMap.java58 symbols
APIJSONORM/src/main/java/apijson/orm/AbstractFunctionParser.java53 symbols
APIJSONORM/src/main/java/apijson/StringUtil.java47 symbols
APIJSONORM/src/main/java/apijson/orm/AbstractObjectParser.java45 symbols
APIJSONORM/src/main/java/apijson/orm/ObjectParser.java37 symbols
APIJSONORM/src/main/java/apijson/orm/AbstractSQLExecutor.java35 symbols
APIJSONORM/src/main/java/apijson/SQL.java30 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add APIJSON \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact