18 KiB
Tencent is pleased to support the open source community by making APIJSON available.
Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved.
This source code is licensed under the Apache License Version 2.0
APIJSON
🏆 码云最有价值开源项目
🚀 后端接口和文档自动化,前端(客户端) 定制返回JSON的数据和结构!
APIJSON是一种专为API而生的 JSON网络传输协议 以及 基于这套协议实现的ORM库。
为 简单的增删改查、复杂的查询、简单的事务操作 提供了完全自动化的API。
能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。
适合中小型前后端分离的项目,尤其是 BaaS、Serverless、互联网创业项目和企业自用项目。
通过自动化API,前端可以定制任何数据、任何结构!
大部分HTTP请求后端再也不用写接口了,更不用写文档了!
前端再也不用和后端沟通接口或文档问题了!再也不会被文档各种错误坑了!
后端再也不用为了兼容旧接口写新版接口和文档了!再也不会被前端随时随地没完没了地烦了!
特点功能
在线解析
- 自动生成接口文档,清晰可读永远最新
- 自动校验与格式化,支持高亮和收展
- 自动生成各种语言代码,一键下载
- 自动管理与测试接口用例,一键共享
- 自动给请求JSON加注释,一键切换
对于前端
- 不用再向后端催接口、求文档
- 数据和结构完全定制,要啥有啥
- 看请求知结果,所求即所得
- 可一次获取任何数据、任何结构
- 能去除重复数据,节省流量提高速度
对于后端
- 提供通用接口,大部分API不用再写
- 自动生成文档,不用再编写和维护
- 自动校验权限、自动管理版本、自动防SQL注入
- 开放API无需划分版本,始终保持兼容
- 支持增删改查、模糊搜索、正则匹配、远程函数等
APIJSON接口展示
Postman 展示 APIJSON
APIAuto 展示 APIJSON
以下使用 APIAuto-机器学习接口工具 来展示基于 APIJSON 协议的 HTTP API (注意界面是 APIAuto, URL+JSON 才是 APIJSON):
APIJSON 多表关联查询、结构自由组合,APIAuto 多个测试账号、一键共享测试用例
APIAuto 自动生成前端(客户端)请求代码、后端接口代码、测试用例代码,一键下载
APIAuto 自动保存请求记录、自动生成接口文档,可添加常用请求、快捷查看一键恢复
APIAuto 一键自动接口回归测试,不需要写任何代码(注解、注释等全都不要)
一图胜千言 - APIJSON 部分基础功能概览
APIJSON App演示
使用 APIJSON + ZBLibrary 开发的 Android 客户端 Demo (以下 Gif 图看起来比较卡,实际上运行很流畅):
为什么要用APIJSON?
前后端 关于接口的 开发、文档、联调 等 10 大痛点解析
https://github.com/Tencent/APIJSON/wiki
常见问题
1.如何定制业务逻辑?
在后端编写 远程函数,可以拿到 session、version、当前 JSON 对象、参数名称 等,然后对查到的数据自定义处理
https://github.com/Tencent/APIJSON/issues/101
2.如何控制权限?
在 Access 表配置校验规则,默认不允许访问,需要对 每张表、每种角色、每种操作 做相应的配置,粒度细分到 Row 级
https://github.com/Tencent/APIJSON/issues/12
3.如何校验参数?
在 Request 表配置校验规则 structure,提供 NECESSARY、TYPE、VERIFY 等通用方法,可通过 远程函数 来完全自定义
https://github.com/Tencent/APIJSON/wiki#%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86
其它问题见 Closed Issues
https://github.com/Tencent/APIJSON/issues?q=is%3Aissue+is%3Aclosed
快速上手
1.后端部署
可以跳过这个步骤,直接用APIJSON服务器IP地址 apijson.cn:8080 来测试接口。
见 APIJSON后端部署 - Java
2.前端部署
可以跳过这个步骤,直接使用 APIAuto-机器学习HTTP接口工具 或 下载客户端App。
见 Android 或 iOS 或 JavaScript
下载客户端App
仿微信朋友圈动态实战项目
APIJSONApp.apk
测试及自动生成代码工具
APIJSONTest.apk
使用登记
贡献者们
主项目 APIJSON 的贡献者们和 生态周边项目 的作者们:
感谢大家的贡献。
规划及路线图
新增功能、强化安全、提高性能、增强稳定、完善文档、丰富周边、推广使用
https://github.com/Tencent/APIJSON/blob/master/Roadmap.md
我要赞赏
如果你喜欢 APIJSON,感觉 APIJSON 帮助到了你,可以点右上角 ⭐Star 支持一下,谢谢 ^_^
技术交流
如果有什么问题或建议可以 提ISSUE 或 加群,交流技术,分享经验。
如果你解决了某些bug,或者新增了一些功能,欢迎 贡献代码,感激不尽~
https://github.com/Tencent/APIJSON/blob/master/CONTRIBUTING.md
QQ 技术群: 734652054(新)、607020115(旧)
相关推荐
APIJSON在mac电脑环境下配置去连接SQL Server
生态项目
APIJSON-Demo APIJSON 各种语言、各种框架的使用示例项目
apijson-orm APIJSON ORM 库,可通过 Maven, Gradle 等远程依赖
apijson-framework APIJSON 服务端框架,可通过 Maven, Gradle 等远程依赖
APIAuto 机器学习测试、自动生成代码、自动静态检查、自动生成文档与注释等,做最先进的接口管理工具
UnitAuto 机器学习自动化单元测试平台,零代码、全方位、自动化 测试 方法/函数 的正确性和可用性
apijson-doc APIJSON 官方文档,提供排版清晰、搜索方便的文档内容展示,包括设计规范、图文教程等
APIJSONdocs APIJSON 英文文档,提供排版清晰的文档内容展示,包括详细介绍、设计规范、使用方式等
apijson.org APIJSON 官方网站,提供 APIJSON 的 功能简介、登记用户、作者与贡献者、相关链接 等
APIJSON.NET C# 版 APIJSON ,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite
apijson-php PHP 版 APIJSON,基于 ThinkPHP,支持 MySQL, PostgreSQL, SQL Server, Oracle 等
apijson-node Node.ts 版 APIJSON,提供 nestjs 和 typeorm 的 Demo,支持 MySQL, PostgreSQL, SQL Server, Oracle
uliweb-apijson Python 版 APIJSON,支持 MySQL, PostgreSQL, SQL Server, Oracle, SQLite 等
APIJSON Go 版 APIJSON,功能开发中...(不可用且长期未更新,期待热心开发者帮助完善或新增项目)
APIJSONKOTLIN Kotlin 版 APIJSON,基础框架搭建中...(不可用且长期未更新,期待热心开发者帮助完善或新增项目)
APIJSONParser 第三方 APIJSON 解析器,将 JSON 动态解析成 SQL
ApiJsonByJFinal 整合 APIJSON 和 JFinal 的 Demo
SpringServer1.2-APIJSON 智慧党建服务器端,提供 上传 和 下载 文件的接口
apijson-builder 一个方便为 APIJSON 构建 RESTful 请求的 JavaScript 库
AbsGrade 列表级联算法,支持微信朋友圈单层评论、QQ空间双层评论、百度网盘多层(无限层)文件夹等
APIJSON-Android-RxJava 仿微信朋友圈动态实战项目,ZBLibrary(UI) + APIJSON(HTTP) + RxJava(Data)
Android-ZBLibrary Android MVP快速开发框架,Demo全面,注释详细,使用简单,代码严谨
感谢热心的作者们的贡献,点 ⭐Star 支持下他们吧。
持续更新
https://github.com/Tencent/APIJSON/commits/master
工蜂主页
https://git.code.tencent.com/Tencent_Open_Source/APIJSON