17.6K star!后端接口零代码的神器来了,腾讯开源的ORM库太强了!
嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法


" 实时零代码、全功能、强安全 ORM 库 后端接口和文档零代码,前端定制返回 JSON 的数据和结构"
项目亮点
核心功能解析
零代码生成API
只需配置JSON参数,自动生成RESTful接口,支持GET/POST/PUT/DELETE全操作
// 查询用户信息及关联订单
{
"User": {
"id": 1,
"@column": "id,name",
"Order[]": {
"userId@": "User/id",
"@column": "id,amount,createTime"
}
}
}
实时文档生成
自动生成Swagger风格接口文档,支持在线测试,开发效率提升300%动态权限管理
通过角色配置实现字段级权限控制,支持RBAC模型
// 权限配置示例
@MethodAccess(
GET = {UNKNOWN, LOGIN, ADMIN},
POST = {ADMIN}
)
public class User {}
多数据库支持
MySQL | PostgreSQL | SQL Server | Oracle | SQLite | ClickHouse 等智能防注入
自动过滤危险字符,内置SQL预编译机制
技术架构揭秘
| 模块 | 核心技术 | 特性说明 |
|---|---|---|
| 协议层 | JSON + HTTP | 标准化接口规范 |
| 解析引擎 | 自研SQL生成器 | 支持复杂嵌套查询 |
| 权限控制 | RBAC模型 | 字段级访问控制 |
| 数据库适配 | JDBC + 多数据源驱动 | 跨数据库兼容 |
| 文档生成 | Swagger集成 | 实时同步接口文档 |
应用场景大全
场景1:移动应用后端开发
某电商App使用APIJSON后:
接口开发时间从3天缩短至2小时 订单查询接口性能提升5倍 文档维护成本降低90%
场景2:低代码平台构建
通过配置JSON实现:
{
"Product": {
"@column": "id,name,price",
"@order": "sales-desc",
"@count": 10
}
}
自动生成热销商品排行榜接口
场景3:微服务架构支持
// 分布式事务配置
@Transaction
public class OrderService {
@JSONRequest(url = "http://inventory-service/updateStock")
public void createOrder(){...}
}
场景4:数据中台建设
支持同时连接:
MySQL(业务数据) ClickHouse(分析数据) SQL Server(历史数据) 实现跨库联合查询
同类项目对比
| 项目 | 开发效率 | 学习成本 | 功能特性 | 安全性 |
|---|---|---|---|---|
| APIJSON | 全功能支持 | 军工级 | ||
| PostgREST | 基础CRUD | 中等 | ||
| Hasura | GraphQL支持 | 较强 | ||
| GraphQL | 灵活查询 | 需配置 |
项目实战指南
三步快速入门
添加Maven依赖
<dependency>
<groupId>com.tencent</groupId>
<artifactId>apijson-boot</artifactId>
<version>5.2.0</version>
</dependency>
配置数据源
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
发送请求
curl -X POST http://localhost:8080/get \
-H "Content-Type: application/json" \
-d '{"User":{"@column":"id,name"}}'
高级功能示例
跨表联查:
{
"User": {
"id": 1,
"Order[]": {
"userId@": "User/id",
"Product": {
"orderId@": "Order/id"
}
}
}
}
事务处理:
@Transaction
@JSONRequest
public class OrderController {
public String createOrder(Order order) {
// 自动事务管理
}
}
项目效果
项目生态
APIJSON-Android:移动端快速开发框架 APIJSON-Boot:SpringBoot深度整合方案 APIJSON-UI:可视化接口配置平台 APIJSON-DOC:智能文档生成系统
性能数据(数据仅供参考)
| 并发数 | 平均响应时间 | 吞吐量 |
|---|---|---|
| 100 | 23ms | 4320/s |
| 500 | 45ms | 11025/s |
| 1000 | 82ms | 12100/s |
统计分析
腾讯、华为、阿里巴巴、美团、字节跳动、百度、京东、网易、快手等和 Google, Apple, Microsoft, Amazon, Paypal, IBM, Shopee 等 数百名知名大厂员工点了 Star,也有腾讯、华为、字节跳动、Microsoft、Zoom 等不少知名大厂员工提了 PR/Issue,感谢大家的支持~





项目地址
https://github.com/Tencent/APIJSON
17.6K star!后端接口零代码的神器来了,腾讯开源的ORM库太强了!的更多相关文章
- 腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一)
腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一) 在看Accept阶段代码之前, 我们再回想一下 Basic Paxos算法; 1. Basic Paxos 算法是为 ...
- 腾讯开源的Paxos库PhxPaxos代码解读---Prepare阶段(一)
简单的画了一下PhxPaxos在Prepare阶段的逻辑,主要是正常的逻辑,异常逻辑和超时后面再写了; 熟悉PhxPaxos代码最好的方法是编译运行sample目录下的三个例子,编译方法在另一篇博客已 ...
- 记录一次用宝塔部署微信小程序Node.js后端接口代码的详细过程
一直忙着写毕设,上一次写博客还是元旦,大半年过去了.... 后面会不断分享各种新项目的源码与技术.欢迎关注一起学习哈! 记录一次部署微信小程序Node.js后端接口代码的详细过程,使用宝塔来部署. 我 ...
- SpringBoot-如何设计优秀的后端接口?
1 概述 本篇文章以Spring Boot为基础,从以下三个方向讲述了如何设计一个优秀的后端接口体系: 参数校验:涉及Hibernate Validator的各种注解,快速失败模式,分组,组序列以及自 ...
- 基于Node.js的微信JS-SDK后端接口实现
做了一个网站,放到线上,用微信打开,点击分享,可是分享后发给朋友的链接卡片是微信默认自带的,如下: 这标题,描述以及图片是默认自带的,丑不说,分享给别人还以为是盗号网站呢,而接入微信的JSSDK后,分 ...
- 个人永久性免费-Excel催化剂功能第98波-零代码零距离轻松接触并拥有金融大数据
数据产生价值的一个最突出的领域-金融领域,股票.证券.上市公司财务报表等,多少人在其中发掘出宝贵的数据价值.今天Excel催化剂联合Tushare金融大数据平台,让这一切的数据都能成为你我普通人零代码 ...
- 【项目实践】SpringBoot三招组合拳,手把手教你打出优雅的后端接口
以项目驱动学习,以实践检验真知 前言 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等).请求数据(request).响应数据(response).如何构建这几个 ...
- crudapi零代码开发平台应用场景和成功案例
应用场景 在前面文章中,已经介绍了crudapi主要功能和使用方式,本文主要介绍crudapi应用场景以及具体的使用方式. 概要 crudapi属于产品级的零代码平台,无需编程,通过配置自动生成cru ...
- itest 开源测试管理项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码
导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景 像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ...
- 【Node.js】二、基于Express框架 + 连接MongoDB + 写后端接口
在上节,我们讲了如何搭建express环境,现在我们说说如何通过node.js写服务接口给前端调用 1. 首先通过MongoDB建好数据库与表格 例如,我的数据库名字为db_demo,数据库表格为go ...
随机推荐
- linux mint安装触控板手势fusuma
安装必要的包,终端输入: sudo apt-get install libinput-tools sudo apt-get install xdotool sudo gem install fusum ...
- AtCoder [ABC351E] Jump Distance Sum 题解 [ 绿 ] [ 数学 ]
原题 场上差点就想出来了,就差一个旋转坐标轴了. 初步分析 首先来看如何判断两个点能不能走到,这可以看成下面的一张网格图,相同颜色的格子相互连通. 因此根据瞪眼法,可以把这些格子分为 $ (x_i + ...
- 最新demo版 | 如何0-1开发支付宝小程序之小程序页面功能介绍(三)
前两期讲了小程序开发的准备工作以及前期需要如何调试,今天我们就来介绍下开发一个支付宝小程序页面需要了解哪些信息. 一个小程序页面的整体功能的构成离不开页面展示(AXML).页面样式(ACSS)以及页面 ...
- VS2019 找不到资产文件 “xxxx\obj\project.assets.json”运行NuGet包还原以生成此文件
参考地址:https://blog.csdn.net/weixin_42835409/article/details/107033059 下载 log4net 源码打开,编译报错: 严重性 代码 说明 ...
- 牛客题解 | 单组_spj判断数组之和
题目 题目链接 解题思路 后台有spj代码,能对同学们的输出数据进行校验,符合条件即可通过. 附赠 spj 代码 #include <iostream> #include <fstr ...
- Java - 高射炮打蚊子(第二弹)
题记部分 01 || 面试题 001 || 什么是JVM JVM(Java虚拟机)是Java程序运行的环境,它是一个抽象的计算机,包括指令集.寄存器集.堆栈.垃圾回收等.JVM屏蔽了与具体操作系统平台 ...
- 洛谷P10112 [GESP202312 八级] 奖品分配 题解
题目传送门. 看了题解才发现我有多蠢. 我的做法真是唐完了. 在此之前请学习扩展欧几里得定理和扩展欧几里得定理求逆元. 发现奖品要么 \(N\) 个,要么 \(N+1\) 个,于是分类讨论,当奖品只有 ...
- 近1000 star,Forest 1.5.0 正式版发布
简介 Forest是一个高层的.极简的轻量级HTTP调用API框架. 相比于直接使用Httpclient您不再用写一大堆重复的代码了,而是像调用本地方法一样去发送HTTP请求. 不需要调用HTTP底层 ...
- 自己修改的一款Typora学术主题Academic-zh-vq
这款typora主题是在Academic-Zh主题的基础上修改而来的. 主题衍生路径: 官方Academic主题-->zh-academic主题-->Academic-Zh主题--> ...
- 【MATLAB习题】铰链四杆机构的运动学分析
铰链四杆机构题目&已知数据 matlab 代码 主程序文件: function main %输入已知数据 clear; i1=101.6; i2=254; i3=177.8; i4=304.8 ...







