17.6K star!后端接口零代码的神器来了,腾讯开源的ORM库太强了!

简介: "🏆 实时零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端定制返回 JSON 的数据和结构"

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法

"🏆 实时零代码、全功能、强安全 ORM 库 🚀 后端接口和文档零代码,前端定制返回 JSON 的数据和结构"

项目亮点

核心功能解析

  1. 零代码生成API
    只需配置JSON参数,自动生成RESTful接口,支持GET/POST/PUT/DELETE全操作

// 查询用户信息及关联订单
{
 "User": {
   "id": 1,
   "@column": "id,name",
   "Order[]": {
     "userId@": "User/id",
     "@column": "id,amount,createTime"
   }
 }
}

  1. 实时文档生成
    自动生成Swagger风格接口文档,支持在线测试,开发效率提升300%
  2. 动态权限管理
    通过角色配置实现字段级权限控制,支持RBAC模型

// 权限配置示例
@MethodAccess(
   GET = {UNKNOWN, LOGIN, ADMIN},
   POST = {ADMIN}
)
public class User {}

  1. 多数据库支持
    MySQL | PostgreSQL | SQL Server | Oracle | SQLite | ClickHouse 等
  2. 智能防注入
    自动过滤危险字符,内置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 ⭐⭐⭐ ⭐⭐⭐⭐ 灵活查询 需配置

项目实战指南

三步快速入门

  1. 添加Maven依赖

<dependency>
   <groupId>com.tencent</groupId>
   <artifactId>apijson-boot</artifactId>
   <version>5.2.0</version>
</dependency>

  1. 配置数据源

spring.datasource.url=jdbc:mysql://localhost:3306/test

spring.datasource.username=root

spring.datasource.password=123456

  1. 发送请求

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

目录
打赏
0
0
0
0
163
分享
相关文章
记录一次后端接口抖动的排查过程
某天下午,测试新功能时发现页面接口偶尔变慢,平均十次调用中有三到四次出现3秒以上的延迟。排查了接口、数据库和服务器资源后未发现问题,最终锁定为K8s节点的负载均衡策略导致。测试环境仅有一个公网IP,SLB轮询四个Pod(其中三个为空),造成周期性延迟。移除空Pod后问题解决。
103 5
|
2月前
通义灵码企业级检索增强-后端注释生成代码场景DEMO
通义灵码企业级检索增强DEMO展示后端注释生成代码场景。通过上传加密算法的标准化写法(英文注释),大模型能够准确推荐企业标准写法,促进内部知识复用,并支持主动干预生成过程,提升代码规范性和一致性。
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
【10月更文挑战第1天】深度学习中,模型微调虽能提升性能,但常导致“灾难性遗忘”,即模型在新任务上训练后遗忘旧知识。本文介绍弹性权重巩固(EWC)方法,通过在损失函数中加入正则项来惩罚对重要参数的更改,从而缓解此问题。提供了一个基于PyTorch的实现示例,展示如何在训练过程中引入EWC损失,适用于终身学习和在线学习等场景。
398 4
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
142 3
后端开发的哲学:代码与人生的交织
在数字化的时代,后端开发不仅仅是技术的堆砌,它更像是一场深刻的人生修炼。本文将探讨后端开发中蕴含的哲理,以及这些哲理如何影响我们的职业生涯和人生观。我们将从代码的本质出发,逐步深入到人生的意义,最终理解为何“你必须成为你希望在世界上看到的改变。”
拥抱开源:NestJS 在现代后端开发中的应用
【10月更文挑战第21天】NestJS 是一个基于 TypeScript 的现代 Node.js 框架,结合了 OOP、FP 和 FRP 元素,支持模块化设计、控制器、服务和守卫等核心概念,具备强大的依赖注入系统。本文探讨了 NestJS 的核心特性、应用场景及其在现代后端开发中的价值,包括构建 RESTful API、微服务、单页应用后端和企业级应用。通过最佳实践和社区支持,NestJS 可显著提高开发效率和代码质量。
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
本文为Spring Boot增删改查接口的小白入门教程,介绍了项目的构建、配置YML文件、代码编写(包括实体类、Mapper接口、Mapper.xml、Service和Controller)以及使用Postman进行接口测试的方法。同时提供了SQL代码和完整代码的下载链接。
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
75 5
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
101 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
零代码能力:轻松搞定表单和API接口,少写80%后端代码,内含资源
小白接口(果创云 YesApi.cn)是一个零代码和低代码开发平台,提供一站式后端云服务,帮助开发者、学生、业余爱好者、工作室、中小企业及无IT技术人员的传统企业快速搭建应用、接口、服务和网站。平台提供500+免费API接口,支持在线API开发、在线表单、数据库管理、图片文件存储、会员管理等功能,无需后端开发经验,轻松实现数据处理和应用开发。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等