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

" 实时零代码、全功能、强安全 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

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

  1. 腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一)

    腾讯开源的 Paxos库 PhxPaxos 代码解读---Accept阶段(一) 在看Accept阶段代码之前, 我们再回想一下 Basic Paxos算法; 1.  Basic Paxos 算法是为 ...

  2. 腾讯开源的Paxos库PhxPaxos代码解读---Prepare阶段(一)

    简单的画了一下PhxPaxos在Prepare阶段的逻辑,主要是正常的逻辑,异常逻辑和超时后面再写了; 熟悉PhxPaxos代码最好的方法是编译运行sample目录下的三个例子,编译方法在另一篇博客已 ...

  3. 记录一次用宝塔部署微信小程序Node.js后端接口代码的详细过程

    一直忙着写毕设,上一次写博客还是元旦,大半年过去了.... 后面会不断分享各种新项目的源码与技术.欢迎关注一起学习哈! 记录一次部署微信小程序Node.js后端接口代码的详细过程,使用宝塔来部署. 我 ...

  4. SpringBoot-如何设计优秀的后端接口?

    1 概述 本篇文章以Spring Boot为基础,从以下三个方向讲述了如何设计一个优秀的后端接口体系: 参数校验:涉及Hibernate Validator的各种注解,快速失败模式,分组,组序列以及自 ...

  5. 基于Node.js的微信JS-SDK后端接口实现

    做了一个网站,放到线上,用微信打开,点击分享,可是分享后发给朋友的链接卡片是微信默认自带的,如下: 这标题,描述以及图片是默认自带的,丑不说,分享给别人还以为是盗号网站呢,而接入微信的JSSDK后,分 ...

  6. 个人永久性免费-Excel催化剂功能第98波-零代码零距离轻松接触并拥有金融大数据

    数据产生价值的一个最突出的领域-金融领域,股票.证券.上市公司财务报表等,多少人在其中发掘出宝贵的数据价值.今天Excel催化剂联合Tushare金融大数据平台,让这一切的数据都能成为你我普通人零代码 ...

  7. 【项目实践】SpringBoot三招组合拳,手把手教你打出优雅的后端接口

    以项目驱动学习,以实践检验真知 前言 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等).请求数据(request).响应数据(response).如何构建这几个 ...

  8. crudapi零代码开发平台应用场景和成功案例

    应用场景 在前面文章中,已经介绍了crudapi主要功能和使用方式,本文主要介绍crudapi应用场景以及具体的使用方式. 概要 crudapi属于产品级的零代码平台,无需编程,通过配置自动生成cru ...

  9. itest 开源测试管理项目中封装的下拉列表小组件:实现下拉列表使用者前后端0行代码

    导读: 主要从4个方面来阐述,1:背景:2:思路:3:代码实现:4:使用 一:封装背景       像easy ui 之类的纯前端组件,也有下拉列表组件,但是使用的时候,每个下拉列表,要配一个URL ...

  10. 【Node.js】二、基于Express框架 + 连接MongoDB + 写后端接口

    在上节,我们讲了如何搭建express环境,现在我们说说如何通过node.js写服务接口给前端调用 1. 首先通过MongoDB建好数据库与表格 例如,我的数据库名字为db_demo,数据库表格为go ...

随机推荐

  1. PHP简介与开发环境搭建

    PHP简介与开发环境搭建 一.PHP简介 PHP,全称PHP: Hypertext Preprocessor(超文本预处理器),是一种广泛使用的开源服务器端脚本语言,尤其适合Web开发.PHP由Ras ...

  2. Schreier–Sims 算法

    好看的实现. #include<bits/stdc++.h> using namespace std; #define int long long const int maxn=105; ...

  3. Iceberg的Copy on Write和Merge On Read介绍

    一.默认的Copy on Write Copy no Write模式指的是在进行更新数据时,先将数据拷贝出来进行相应的更新,再替换掉原先的数据 二.Merge On Read读取时合并 在v2版本才支 ...

  4. 微信分享前端开发全程详解含iOS、安卓、H5、ReactNative以及微信开放标签的适配和使用

    2024年9月,本人在做微信分享前端部分的iOS.安卓和H5的页面和功能时踩了不少坑,于是写了这篇文章,内容包括微信分享在上面三个端的技术点和坑点.解决办法,微信开放标签的相关适配,以及ReactNa ...

  5. 1 使用ollama完成DeepSeek本地部署

    1 ollama 1.1 什么是ollama ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型,降低使用大语言模型的门槛,使得大模型的开发者.研究人员和爱好者能够 ...

  6. SpringBoot实现HandlerInterceptor拦截器的接口没有需要重写的方法也不报错是怎么回事

    以前实现HandlerInterceptor接口,总会提示需要实现3个方法(preHandle.postHandle.afterCompletion).现在没有出现提示.原因:这是Java8的新特性- ...

  7. 深度科普 - 大名鼎鼎的bun.js到底是什么? 它能否替代node.js? 是否能成为前端生态的未来?

    什么是bun? 聪明的小伙伴们,你们在接触bun时是否有过这样的疑问呢? bun.js是什么? 它是如何诞生的? 跟node.js的区别是什么? 有什么优势? 目前的发展情况如何了? 他是否是前端的未 ...

  8. 面试题64. 求1+2+…+n

    地址:https://leetcode-cn.com/problems/qiu-12n-lcof/ <?php /** 求 1+2+...+n ,要求不能使用乘除法.for.while.if.e ...

  9. C#方法练习

    提示用户输入用户名和密码,写一个方法来判断用户输入的是否正确,返回给用户一个登陆结果,并且还要单独的返回给用户一个登陆信息 ,如果用户名错误,除了返回登陆结果之外,还要返回一个 "用户名错误 ...

  10. 详解nginx配置url重定向-反向代理

    https://www.jb51.net/article/99996.htm 本文系统:Centos6.5_x64 三台主机:nginx主机,hostname: master.lansgg.com  ...