今天给大家推荐一个非常牛逼的框架APIJSON,它是腾讯全力推荐和布道的后端开发神器!!!github上的托管地址为https://github.com/Tencent/APIJSON。
温馨提示:目前APIJSON Star数量为16.1k,Fork数量为2.1k,目前在腾讯开源的Java项目中排名第2,非常的牛逼。
但是准确的来讲,它并不是一个Java语言的框架,只是说它主要服务于基于Java语言的应用服务。
APIJSON 是一种专为 API 而生的 JSON 网络传输协议 以及 基于这套协议实现的 ORM 库。为各种增删改查提供了完全自动化的万能通用接口,零代码实时满足千变万化的各种新增和变更需求。能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。适合中小型前后端分离的项目,尤其是 创业项目、内部项目、低代码/零代码、小程序、BaaS、Serverless 等。
通过万能通用接口,前端可以定制任何数据、任何结构。大部分 HTTP 请求后端再也不用写接口了,更不用写文档了。前端再也不用和后端沟通接口或文档问题了。再也不会被文档各种错误坑了。后端再也不用为了兼容旧接口写新版接口和文档了。再也不会被前端随时随地没完没了地烦了。
为什么说APIJSON是神器呢?主要得益于它的宣传“零代码、全功能、强安全 ORM 库、后端接口和文档零代码以及前端(客户端) 定制返回 JSON 的数据和结构”,当然人家也大部分都实现了。
反正我看着都感觉牛逼,更别说我是看完源码的,我也强烈支持技术小伙伴去看完相关的源码,对于想做架构师的技术小伙伴来说是非常有帮助的。
为什么选择 APIJSON?以下观点来自于官方,大家可以参考一下。
- 解决十大痛点 (可帮前后端开发大幅提振开发效率、强力杜绝联调扯皮、巧妙规避文档缺陷、非常节省流量带宽)
- 开发提速很大 (CRUD 零代码热更新全自动,APIJSONBoot 对比 SSM、SSH 等保守估计可提速 20 倍以上)
- 腾讯官方开源 (使用 GitHub、Gitee、工蜂 等平台的官方账号开源,微信公众号、腾讯云+社区 等官方公告)
- 社区影响力大 (GitHub 15.6K Star 在 400W Java 项目排名前 100,远超 FLAG, BAT 等国内外绝大部分开源项目)
- 各项荣誉成就 (腾讯内外 5 个奖项、腾讯开源前八、腾讯后端 Star 第一、GitHub Java 日周月榜大满贯 等)
- 多样用户案例 (腾讯内有互娱、音乐、微信、云与智慧,外部有华为、华能、百度、快手、中兴、圆通、传音等)
- 适用场景广泛 (社交聊天、阅读资讯、影音娱乐、办公学习 等各种 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 年起已连续维护近 7 年,50+ 个贡献者、90+ 次发版、3000+ 次提交,不断更新迭代中...)
为了方便技术小伙伴入门APIJSON,它还提供了容易上手的前端、后端和客户端APP指南,都是零基础的。
针对后端,APIJSON 提供了如下主要功能:
- 提供万能通用接口,大部分 HTTP API 不用再写;
- 零代码增删改查、各种跨库连表、JOIN 嵌套子查询等;
- 自动生成文档,不用再编写和维护,且自动静态检查;
- 自动校验权限、自动管理版本、自动防 SQL 注入;
- 开放 HTTP API 无需划分版本,始终保持兼容。
针对前端,APIJSON 提供了如下主要功能:
- 不用再向后端催接口、求文档;
- 数据和结构完全定制,要啥有啥;
- 看请求知结果,所求即所得;
- 可一次获取任何数据、任何结构;
- 能去除多余数据,节省流量提高速度。