# ApiGo
**Repository Path**: pingapi/apigo
## Basic Information
- **Project Name**: ApiGo
- **Description**: ApiGo (原crabc-api)是一款低代码API接口开发平台,sql2api,企业级接口管理、数据服务平台。数据库转API,实现动态数据源、动态SQL、函数、存储过程和条件标签,在线可视化编写SQL快速发布API接口,支持接口管理、代理转发、鉴权、限流、熔断和监控告警等一站式API数据服务。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: dev
- **Homepage**: http://apigo.cn
- **GVP Project**: No
## Statistics
- **Stars**: 672
- **Forks**: 208
- **Created**: 2023-03-01
- **Last Updated**: 2026-08-12
## Categories & Tags
**Categories**: lowcode
**Tags**: 低代码, api网关, 接口管理, 零代码, 数据服务
## README
# 介绍
**ApiGo** 是接口开发平台,企业项目脚手架,sql2Api,数据预览等。深度整合SpringBoot和Mybatis实现动态数据源和动态SQL、函数和存储过程。
支持接入(mysql、oracle、postgresql、sqlserver、达梦、TiDB、es和hive)等SQL或/NoSQL数据源,
在线可视化编写SQL后即可快速生成接口对外提供服务,接口一键上下线。减少通用接口的SQL编写,让开发人员专注更复杂的业务逻辑实现。
支持Mybatis中if等标签语法、数据脱敏、数据转换、国密加密、协同开发、接口编排等功能,可集成微服务网关支持接入第三方接口、权限认证、限流、缓存、告警监控和统一日志等一站式API数据服务,
助力于企业数据资产价值升级,成为企业数字化转型的重要推动力。

## 社区版功能
- **工作台**:可视化编写SQL快速的对外发布成API接口,支持多SQL同时执行、Mybatis标签语法,实现动态SQL和动态标签
- **数据源**:数据源列表和数据查询,支持多种SQL/NoSQL数据库添加。
- **应用凭证**:AppKey认证、签名认证的应用创建管理以及对API调用在线授权。
- **接口列表**:查看开发中和已发布的API接口,可进行上下线管理,限流控制等
- **接口文档**:生成在线接口文档,支持在线测试。
- **指标统计**:展示场景的接口调用指标统计
- **接口日志**:查看发布的接口被调用日志列表和请求详情。
## 接口开发流程

## 模块
~~~
cn.crabc
├── crabc-boot // 业务模块
│ └── crabc-admin // 启动模块
│ └── crabc-core // 基础模块
│ └── static // 前端静态页面 [9377]
│ └── crabc-datasource // 数据源加载模块
│ └── crabc-spi // 插件定义模块
├── crabc-spring-boot-starter // 第三方项目maven集成依赖包
├── db // SQL脚本
├──pom.xml // 依赖
~~~
## 版本说明
dev分支框架SpringBoot已升级至4.1.0,jdk需21及以上版本 \
jdk8分支框架SpringBoot是2.x + jdk8
## 社区版压测报告
> 压测工具:JMeter | 部署环境:4c8g 服务器,jdk21
| 压测参数 | 值 |
|:--|:----------|
| 压测接口 | 一个 |
| 并发线程数 | 100 |
| 执行时长 | 180 秒 |
| 核心指标 | 数值 |
|:--|:---------------|
| **QPS(吞吐量)** | **287.8 请求/秒** |
| 总请求数 | 51,959 |
| 成功数 | 51,959 |
| 失败数 | 0 |
| **失败率** | **0.00%** |
| 平均响应时间 | 286 ms |
| 最大响应时间 | 1,118 ms |
| P50 | 291 ms |
| P90 | 457 ms |
| P95 | 602 ms |
| P99 | 785 ms |
## 企业版
https://apigo.cn
## 企业版架构图
## 运行启动
```
1、先执行db/dml.sql脚本,创建库表和初始化数据,支持mysql和postgresql,建议mysql 8.0+版本和postgresql 14+版本
2、在编辑工具中运行启动 crabc-api/ AdminApplication.java
```
访问地址:http://127.0.0.1:9377 \
账号密码:admin/admin123
## 官网
官网:https://apigo.cn
使用指南:http://docs.apigo.cn
github:https://github.com/pingapi/apigo
## 商用授权
已申请软件著作,开源版仅供个人学习使用 \
企业版功能更强大,商用请加群联系\
## 源码地址
github: https://github.com/pingapi/apigo \
gitee: https://gitee.com/pingapi/crabc-api
## Maven集成apigo
```
cn.crabc
crabc-spring-boot-starter
5.5.0
```
在程序启动类中添加下面注解
```
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
```
集成Demo参考: crabc-spring-boot-starter-demo
## Docker启动
先执行db/dml.sql脚本,创建库表和初始化数据,建议mysql 8.0+版本
X86/AMD架构
```
docker run -p 9377:9377 -e DB_URL=jdbc:mysql://localhost:3306/apigo -e DB_USER=root -e DB_PWD=root -d --name apigo crabc/apigo:latest
```
ARM架构
```
docker run -p 9377:9377 -e DB_URL=jdbc:mysql://localhost:3306/apigo -e DB_USER=root -e DB_PWD=root -d --name apigo crabc/crabc-admin:latest
```
访问地址:http://127.0.0.1:9377
账号密码:admin/admin123
## Windows桌面运行
先执行db/dml.sql脚本,创建库表和初始化数据,建议mysql 8.0+版本
```
java -jar crabc-api.jar --spring.datasource.url=jdbc:mysql://127.0.0.1:3306/crabc --spring.datasource.username=root --spring.datasource.password=root
```
## 效果截图
### 接口开发

#### 接口属性

#### 返回参数

#### 在线预览

#### 接口列表

#### 接口限流

#### 指标统计

#### 日志管理

#### 数据源列表

#### 数据查询

#### 数据源类型

## 交流群
**进群前请先点【Star】谢谢**
QQ群(请先Star):748993036
商用咨询加微信 (请备注apigo)

## 产品使用登记
以下为部分接入apigo的用户 , 点击进行登记
| 产品使用公司 |
|:-------|
| 真情巴士 |
| 阳光智维 |
| 一步数据 |
| 像素云图 |
| 前景科技 |
| 方寸图信息 |
| 鹭栖技术 |
| 循脉医疗 |
| 云上贵州 |
| 蓝典科技 |
| 某市供电局 |
| 启瑞药业 |
| 今日资本 |
| 智汇大成 |
| 中科世通 |