加入CODE CHINA

· 不限速    · 不限空间    · 不限人数    · 私仓免费

免费加入
    README.md

    【腾讯犀牛鸟开源人才培养计划】开始啦!加入我们开源共建吧~

    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

    零代码、热更新、自动化 ORM 库
    🚀 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构

       

         

       

    English  通用文档 视频教程 在线体验


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

    APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。
    为 简单的增删改查、复杂的查询、简单的事务操作 提供了完全自动化的万能 API。
    能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。
    适合中小型前后端分离的项目,尤其是 BaaS、Serverless、互联网创业项目和企业自用项目。

    通过万能的 API,前端可以定制任何数据、任何结构。
    大部分 HTTP 请求后端再也不用写接口了,更不用写文档了。
    前端再也不用和后端沟通接口或文档问题了。再也不会被文档各种错误坑了。
    后端再也不用为了兼容旧接口写新版接口和文档了。再也不会被前端随时随地没完没了地烦了。

    特点功能

    对于前端

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

    对于后端

    • 提供通用接口,大部分 API 不用再写
    • 自动生成文档,不用再编写和维护
    • 自动校验权限、自动管理版本、自动防 SQL 注入
    • 开放 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

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

    常见问题

    1.如何定制业务逻辑?

    在后端编写 远程函数,可以拿到 session、version、当前 JSON 对象、参数名称 等,然后对查到的数据自定义处理
    https://github.com/Tencent/APIJSON/issues/101

    2.如何控制权限?

    在 Access 表配置校验规则,默认不允许访问,需要对 每张表、每种角色、每种操作 做相应的配置,粒度细分到行级
    https://github.com/Tencent/APIJSON/issues/12

    3.如何校验参数?

    在 Request 表配置校验规则 structure,提供 MUST、TYPE、VERIFY 等通用方法,可通过 远程函数 来完全自定义
    https://github.com/Tencent/APIJSON/wiki#%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86

    更多常见问题及提问前必看
    https://github.com/Tencent/APIJSON/issues/36

    注意事项

    请求参数 JSON 中表名、字段名、关键词及对应的值都是大小写敏感、逗号敏感、分号敏感、空格敏感、换行敏感,
    大部分情况都不允许空格和换行,表名以大写字母开头,不要想当然,请严格按照 设计规范 来调用 API #181



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

    快速上手

    1.后端上手

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

    2.前端上手

    可以跳过这个步骤,直接使用 APIAuto-机器学习HTTP接口工具 或 下载客户端App。
    见  Android  或  iOS  或  JavaScript

    下载客户端 App

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

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

    开源许可

    使用 Apache License 2.0,对 公司、团队、个人 等 商用、非商用 都自由免费且非常友好,请放心使用和登记

    使用登记

    如果您在使用 APIJSON,请让我们知道,您的使用对我们非常重要(按登记顺序排列):
    https://github.com/Tencent/APIJSON/issues/187


    贡献者们

    主项目 APIJSON 的贡献者们和 生态周边项目 的作者们:



    还有为 APIJSON 扫描代码贡献 Issue 的 奇安信代码卫士源伞科技


    感谢大家的贡献。

    规划及路线图

    新增功能、强化安全、提高性能、增强稳定、完善文档、丰富周边、推广使用
    https://github.com/Tencent/APIJSON/blob/master/Roadmap.md

    理论上所有支持 SQL 与 JDBC/ODBC 的软件,都可以用本项目对接 CRUD,待测试:
    DB2, Elasticsearch, ClickHouse, OceanBase, Presto, Spark, Hive(延伸支持 Hadoop, Spark), Phoenix(延伸支持 HBase), Presto/Trino(延伸支持 Redis, Hive, Kafka, Elasticsearch, Thrift, Cassandra, MySQL, PostgreSQL, Oracle, MongoDB...)

    我要赞赏

    如果你喜欢 APIJSON,感觉 APIJSON 帮助到了你,可以点右上角 Star 支持一下,谢谢 ^_^



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

    技术交流

    如果有什么问题或建议可以 提ISSUE 或 加群,交流技术,分享经验。
    如果你解决了某些bug,或者新增了一些功能,欢迎 贡献代码,感激不尽~
    https://github.com/Tencent/APIJSON/blob/master/CONTRIBUTING.md

    QQ 技术群: 734652054(新)、607020115(旧)

    如果你为 APIJSON 做出了以下任何一个贡献:
    提交了 PR 且被合并提交了优质 Issue发表了优质文章开发了可用的生态项目登记了你的公司,可以加
    贡献者微信群,注意联系 LonelyExplorer,加好友描述中附上贡献链接,谢谢

    相关推荐

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

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

    apijson-framework APIJSON 服务端框架,可通过 Maven, Gradle 等远程依赖

    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-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-sample APIJSON 简单使用 Demo 及教程

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

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

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

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

    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://github.com/Tencent/APIJSON/commits/master

    工蜂主页

    https://git.code.tencent.com/Tencent_Open_Source/APIJSON

    码云主页

    https://gitee.com/Tencent/APIJSON

    项目简介

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/tommylemon/apijson

    发行版本 80

    新增数据源关键词;解决 Oracle 低版本兼容问题;优化 JOIN 和 分页 等

    全部发行版

    贡献者 27

    全部贡献者

    开发语言

    • Java 100.0 %