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 ...
随机推荐
- PHP简介与开发环境搭建
PHP简介与开发环境搭建 一.PHP简介 PHP,全称PHP: Hypertext Preprocessor(超文本预处理器),是一种广泛使用的开源服务器端脚本语言,尤其适合Web开发.PHP由Ras ...
- Schreier–Sims 算法
好看的实现. #include<bits/stdc++.h> using namespace std; #define int long long const int maxn=105; ...
- Iceberg的Copy on Write和Merge On Read介绍
一.默认的Copy on Write Copy no Write模式指的是在进行更新数据时,先将数据拷贝出来进行相应的更新,再替换掉原先的数据 二.Merge On Read读取时合并 在v2版本才支 ...
- 微信分享前端开发全程详解含iOS、安卓、H5、ReactNative以及微信开放标签的适配和使用
2024年9月,本人在做微信分享前端部分的iOS.安卓和H5的页面和功能时踩了不少坑,于是写了这篇文章,内容包括微信分享在上面三个端的技术点和坑点.解决办法,微信开放标签的相关适配,以及ReactNa ...
- 1 使用ollama完成DeepSeek本地部署
1 ollama 1.1 什么是ollama ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者.研究人员和爱好者能够 ...
- SpringBoot实现HandlerInterceptor拦截器的接口没有需要重写的方法也不报错是怎么回事
以前实现HandlerInterceptor接口,总会提示需要实现3个方法(preHandle.postHandle.afterCompletion).现在没有出现提示.原因:这是Java8的新特性- ...
- 深度科普 - 大名鼎鼎的bun.js到底是什么? 它能否替代node.js? 是否能成为前端生态的未来?
什么是bun? 聪明的小伙伴们,你们在接触bun时是否有过这样的疑问呢? bun.js是什么? 它是如何诞生的? 跟node.js的区别是什么? 有什么优势? 目前的发展情况如何了? 他是否是前端的未 ...
- 面试题64. 求1+2+…+n
地址:https://leetcode-cn.com/problems/qiu-12n-lcof/ <?php /** 求 1+2+...+n ,要求不能使用乘除法.for.while.if.e ...
- C#方法练习
提示用户输入用户名和密码,写一个方法来判断用户输入的是否正确,返回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息 ,如果用户名错误,除了返回登陆结果之外,还要返回一个 "用户名错误 ...
- 详解nginx配置url重定向-反向代理
https://www.jb51.net/article/99996.htm 本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com ...