APIJSON自动化接口和文档 ORM 库

联合创作 · 2023-09-30 18:14


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 图看起来比较卡,实际在手机上 App 运行很流畅:
  


 


为什么要用APIJSON?


前后端 关于接口的 开发、文档、联调 等 10 大痛点解析
https://gitee.com/TommyLemon/APIJSON/wikis



  • 解决十大痛点 (可帮前后端开发大幅提振开发效率、强力杜绝联调扯皮、巧妙规避文档缺陷、非常节省流量带宽)

  • 开发提速很大 (CRUD 零代码热更新全自动,APIJSONBoot 对比 SSM、SSH 等保守估计可提速 20 倍以上)

  • 腾讯官方开源 (使用 GitHub、Gitee、工蜂 等平台的官方账号开源,微信公众号、腾讯云+社区 等官方公告)

  • 社区影响力大 (GitHub 1W+ Star 在 350W Java 项目中排名前 120,远超 FLAG, BAT 等国内外绝大部分开源项目)

  • 多样用户案例 (腾讯内有互娱、音乐、微信、云与智慧,外部有华为、华能、百度、快手、中兴、圆通、传音等)

  • 适用场景广泛 (社交聊天、阅读资讯、影音视频、办公学习 等各种 App、网站、公众号、小程序 等非金融类项目)

  • 周边生态丰富 (Android, iOS, Web 等各种 Demo、继承 JSON 的海量生态、零代码 接口测试 和 单元测试 工具等)

  • 文档视频齐全 (项目介绍、快速上手、安装部署 等后端、前端、客户端的 图文解说、视频教程、代码注释 等)

  • 功能丰富强大 (增删改查、分页排序、分组聚合、各种条件、各种 JOIN、各种子查询、跨库连表 等零代码实现)

  • 使用安全简单 (自动增删改查、自动生成文档、自动管理版本、自动控制权限、自动校验参数、自动防 SQL 注入)

  • 灵活定制业务 (在后端编写 远程函数,可以拿到 session、version、当前 JSON 对象 等,然后自定义处理)

  • 高质可靠代码 (代码严谨规范,商业分析软件源伞 Pinpoint 代码扫描报告平均每行代码 Bug 率低至 0.15%)

  • 兼容各种项目 (协议不限 HTTP,与其它库无冲突,对各类 Web 框架集成友好且提供 SpringBoot, JFinal 的示例)

  • 工程轻量小巧 (仅依赖 fastjson,Jar 仅 280KB,Java 文件仅 59 个共 13719 行代码,例如 APIJSONORM 4.3.1)

  • 多年持续迭代 (自 2016 年至今连续维护近 6 年,40+ 贡献者、80+ 发版、2700+ 次提交,不断更新迭代中...)


image


用户反馈


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


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


腾讯 bodian520: “在调试GET、POST、PUT接口时遇到了一些问题,把个人的摸索经验分享一下,希望作者能梳理下文档,方便我们更好的接入”


华为 minshiwu: “demo工程,默认使用apijson-framework,可以做到无任何配置即可体验apijson的各种能力。”


百度智慧城市研发 lpeng: “很兴奋的发现APIJSON很适合我们的一个开发场景,作为我们协议定义的一部分”


中兴工程师 duyijiang: “感谢腾讯大大提供的框架,很好用”


常见问题


https://gitee.com/TommyLemon/APIJSON/issues?q=is%3Aissue+is%3Aclosed


快速上手


1.后端部署


可以跳过这个步骤,直接用APIJSON服务器IP地址 apijson.cn:8080 来测试接口。
见  APIJSON后端部署 - Java


2.前端部署


可以跳过这个步骤,直接使用 APIAuto-自动化接口管理工具 或 下载客户端App。
见  Android  或  iOS  或  JavaScript


下载客户端App


仿微信朋友圈动态实战项目
APIJSONApp.apk


测试及自动生成代码工具
APIJSONTest.apk


贡献者们


主项目 APIJSON 的贡献者们(6 个腾讯工程师、1 个知乎基础研发架构师、1 个圆通工程师 等):


                                    

 


生态周边项目的作者们(2 个腾讯工程师、1 个 BAT 技术专家、1 个字节跳动工程师 等):


                                  

 


感谢大家的贡献。


 


 


相关推荐


APIJSON, 让接口和文档见鬼去吧!


仿QQ空间和微信朋友圈,高解耦高复用高灵活


后端开挂:3行代码写出8个接口!


后端自动化版本管理,再也不用改URL了!


3步创建APIJSON后端新表及配置


APIJSON对接分布式HTAP数据库TiDB


APIJSON教程(一):上手apijson项目,学习apijson语法,并实现持久层配置


apijson简单demo


apijson简单使用


APIJSON简单部署和使用


学习自动化接口APIJSON


APIJSON 接口调试实践


APIJSON使用例子总结


APIJSON 自动化接口和文档的快速开发神器 (一)


APIJSON在mac电脑环境下配置去连接SQL Server


APIJSON复杂业务深入实践(类似12306订票系统)


全国行政区划数据抓取与处理


新手搭建 APIJSON 项目指北


 


生态项目


APIJSON-Demo APIJSON 各种语言、各种框架 的 使用示例项目、上手文档、测试数据 SQL 文件 等


apijson-orm APIJSON ORM 库,可通过 Maven, Gradle 等远程依赖


apijson-framework APIJSON 服务端框架,通过数据库表配置角色权限、参数校验等,简化使用


apijson-router APIJSON 的路由插件,可控地对公网暴露类 RESTful 简单接口,内部转成 APIJSON 格式请求来执行。


apijson-column APIJSON 的字段插件,支持 字段名映射 和 !key 反选字段


APIAuto 敏捷开发最强大易用的 HTTP 接口工具,机器学习零代码测试、生成代码与静态检查、生成文档与光标悬浮注释


UnitAuto 机器学习单元测试平台,零代码、全方位、自动化 测试 方法/函数 的正确性和可用性


apijson-doc APIJSON 官方文档,提供排版清晰、搜索方便的文档内容展示,包括设计规范、图文教程等


APIJSONdocs APIJSON 英文文档,提供排版清晰的文档内容展示,包括详细介绍、设计规范、使用方式等


apijson.org APIJSON 官方网站,提供 APIJSON 的 功能简介、登记用户、作者与贡献者、相关链接 等


APIJSON.NET C# 版 APIJSON ,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite


apijson-go Go 版 APIJSON ,支持单表查询、数组查询、多表一对一关联查询、多表一对多关联查询 等


apijson-hyperf PHP 版 APIJSON,基于 Hyperf 支持 MySQL


APIJSON-php PHP 版 APIJSON,基于 ThinkPHP,支持 MySQL, PostgreSQL, SQL Server, Oracle 等


apijson-php PHP 版 APIJSON,基于 ThinkPHP,支持 MySQL, PostgreSQL, SQL Server, Oracle 等


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


uliweb-apijson Python 版 APIJSON,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite 等


APIJSONParser 第三方 APIJSON 解析器,将 JSON 动态解析成 SQL


FfApiJson 用 JSON 格式直接生成 SQL,借鉴 APIJSON 支持多数据源


APIJSON-ToDo-Demo 一个简单的 todo 示例项目,精简数据,简化上手流程,带自定义鉴权逻辑


apijson-learn APIJSON 学习笔记和源码解析


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


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


APIJSONDemo APIJSON 接入 ClickHouse 的 Demo


APIJSONDemo_ClickHouse APIJSON + SpringBoot 连接 ClickHouse 使用的 Demo


APIJSONBoot_Hive APIJSON + SpringBoot 连接 Hive 使用的 Demo


apijson-sample APIJSON 简单使用 Demo 及教程


apijson-examples APIJSON 的前端、业务后端、管理后端 Demo


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


SpringServer1.2-APIJSON 智慧党建服务器端,提供 上传 和 下载 文件的接口


apijson_template apijson java 模版,使用 gradle 管理依赖和构建应用


api-json-demo 基于 APIJSON,实现低代码写 CURD 代码,代替传统 ORM 框架,适配 Oracle 事务


ApiJsonByJFinal 整合 APIJSON 和 JFinal 的 Demo


apijson-builder 一个方便为 APIJSON 构建 RESTful 请求的 JavaScript 库


AbsGrade 列表级联算法,支持微信朋友圈单层评论、QQ空间双层评论、百度网盘多层(无限层)文件夹等


APIJSON-Android-RxJava 仿微信朋友圈动态实战项目,ZBLibrary(UI) + APIJSON(HTTP) + RxJava(Data)


Android-ZBLibrary Android MVP 快速开发框架,Demo 全面,注释详细,使用简单,代码严谨


感谢热心的作者们的贡献,点 ⭐Star 支持下他们吧。


 


 



持续更新


https://gitee.com/Tencent/APIJSON/commits/master


码云主页


https://gitee.com/Tencent/APIJSON

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报