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 ...
随机推荐
- Flink流式数据缓冲后批量写入Clickhouse
一.背景 对于clickhouse有过使用经验的开发者应该知道,ck的写入,最优应该是批量的写入.但是对于流式场景来说,每批写入的数据量都是不可控制的,如kafka,每批拉取的消息数量是不定的,fli ...
- AI工具推荐:领先的开源 AI 代码助手——Continue
前言 之前介绍了VS Code中的AI插件Cline与Roo Code,这两个都是根据给定一个任务,开始自动写代码的.除了这两个AI代码工具之外,在平常我还很喜欢的就是Continue . Conti ...
- 从SQL Server迁移到Mysql Mysql导入SQL Server的数据库
mysql怎么导入 SQl Server的数据库, SQL Server导出的SQL文件Mysql无法识别 需要用到的软件 Navicat mysql workbanch SQL Server man ...
- 若依单体Vue版本新增多环境配置
若依框架是一个简单的web后台管理脚手架,基于SpringBoot+Vue开发的.本次更改版本为3.8.7截止2023年8月14日,最新版本! 若依自带只有 application.yml 与 app ...
- 百万架构师第四十五课:并发编程的基础|JavaGuide
课程目标 1. 多线程的发展历史 2. 线程的应用 3. 并发编程的基础 4. 线程安全的问题 特定的指令,计算机不会存储指令,把指令写下来,一次性读取指令,批处理. 然后我们需要把批处理进行隔离.保 ...
- 三分钟教学:手把手教你实现Arduino发布第三方库
三分钟教学:手把手教你实现Arduino发布第三方库 原文链接: 手把手教你实现Arduino发布第三方库 摘要 Arduino 发布第三方库的流程包括:构建库的基本框架后将其打包并上传至 GitHu ...
- MongoDB入门介绍与案例分析
一.MongoDB 数据库定位 首先我们来看一下 MongoDB 是什么样的数据库.数据库分两大类: OLTP(Online Transaction Processing)联机事务处理. OLAP(O ...
- go string转int strconv包
前言 strconv 主要用于字符串和基本类型的数据类型的转换 s := "aa"+100 //字符串和整形数据不能放在一起 所以需要将 100 整形转为字符串类型 //+号在字符 ...
- 从 PostgreSQL 升级至 IvorySQL 4.0
本文作者:严少安,IvorySQL 贡献者. 本文为授权转载. 2024 年 8 月,我在<PG 12 即将退役,建议升级到 16.4>一文中提到,PostgreSQL 12 版本即将&q ...
- 10 卷积神经网络CNN原理
1. 全连接层 前文中我们讨论的几乎都是全连接层,也就是在层间,每个神经元都与前一层的所有神经元相连接,如图: 也就是每层的每个feature,都与前一层所有features相关联,是前一层所有fea ...







