# API服务平台 **Repository Path**: gaoc_383/api-sqdp ## Basic Information - **Project Name**: API服务平台 - **Description**: 一直在寻找一款可定制化API的工具,但发现市场上并没有完全符合要求的开源项目。因此,就有了这个系统, API服务平台是基于优秀的开源框架 RuoYi 进行二次开发。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/gaoc_383/api-sqdp - **GVP Project**: No ## Statistics - **Stars**: 39 - **Forks**: 21 - **Created**: 2023-09-02 - **Last Updated**: 2025-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Vue, SpringBoot, MySQL, clickhouse, openGauss ## README

API服务平台

基于SpringBoot开发的API服务平台

## 平台简介 一直在寻找一款可定制化API的工具,但发现市场上并没有完全符合要求的开源项目。因此,就有了这个系统, API服务平台是基于优秀的开源框架 [RuoYi](https://gitee.com/y_project/RuoYi) 进行二次开发。 ## 平台功能 1. 保留原若依全部功能并再此基础上扩展了API服务平台。 2. 适用于各种Web应用程序,可以和微服务架构的应用无缝集成。 3. 提供全面的API管理功能。你可以轻松地添加、编辑和删除API。这让API的管理变得非常便捷。 4. 引入了高度自定义的查询功能。你可以根据具体需求定义和执行复杂的查询操作,这将大大减轻后端开发者的工作负担。 5. 你可以根据需要自定义导出数据,用于生成报告和数据分析。 6. 支持多种数据库,包括MySQLClickHouse和国产数据库OpenGauss扩展方便。 ## 技术选型 * 系统环境 Java EE 8、Servlet 3.0、Apache Maven 3 * 主框架 Spring Boot 2.3.x、Spring Cloud Hoxton.SR9、Spring Framework 5.2.x、Spring Security 5.2.x * 持久层 Apache MyBatis 3.5.x、Hibernate Validation 6.0.x、Alibaba Druid 1.2.x * 视图层 Vue 2.6.x、Axios 0.21.0、Element 2.14.x * 数据库 MySQL、ClickHouse、OpenGauss ## 系统模块 ~~~ com.ruoyi ├── ruoyi-ui // 前端框架 [80] ├── ruoyi-gateway // 网关模块 [8080] ├── ruoyi-auth // 认证中心 [9200] ├── ruoyi-api // 接口模块 │ └── ruoyi-api-system // 系统接口 ├── ruoyi-common // 通用模块 │ └── ruoyi-common-core // 核心模块 │ └── ruoyi-common-datascope // 权限范围 │ └── ruoyi-common-datasource // 多数据源 │ └── ruoyi-common-log // 日志记录 │ └── ruoyi-common-redis // 缓存服务 │ └── ruoyi-common-seata // 分布式事务 │ └── ruoyi-common-security // 安全模块 │ └── ruoyi-common-swagger // 系统接口 ├── ruoyi-modules // 业务模块 │ └── ruoyi-system // 系统模块 [9201] │ └── ruoyi-gen // 代码生成 [9202] │ └── ruoyi-job // 定时任务 [9203] │ └── api-generation-services // API服务 [9205] │ └── ruoyi-file // 文件服务 [9300] ├── ruoyi-visual // 图形化管理模块 │ └── ruoyi-visual-monitor // 监控中心 [9100] ├──pom.xml // 公共依赖 ~~~ ## 若依原内置功能 * 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 * 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 * 岗位管理:配置系统用户所属担任职务。 * 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 * 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 * 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 * 参数管理:对系统动态配置常用参数。 * 通知公告:系统通知公告信息发布维护。 * 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 * 登录日志:系统登录日志记录查询包含登录异常。 * 在线用户:当前系统中活跃用户状态监控。 * 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 * 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 * 系统接口:根据业务代码自动生成相关的api接口文档。 * 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 * 在线构建器:拖动表单元素生成相应的HTML代码。 * 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 ## API服务平台单独部署带页面 #### 准备工作 * JDK >= 1.8 (推荐1.8版本) * Mysql >= 5.7.0 (推荐5.7版本) * Redis >= 3.0 * Maven >= 3.0 * Node >= 12 * nacos >= 2.0.4 #### 执行sql脚本 * 进入api-sqdp/sql下 * 导入数据脚本api-generation.sql(必须) * 导入数据脚本ry-cloud.sql(必须) * 导入数据脚本ry_config.sql(必须) * 导入数据脚本quartz.sql(可选) * 导入数据脚本ry_seata.sql(可选) #### 运行基础模块(启动没有先后顺序) * RuoYiGatewayApplication (网关模块 必须) * RuoYiAuthApplication (认证模块 必须) * RuoYiSystemApplication (系统模块 必须) * ApiGenerationServicesApplication(api服务 必须) * RuoYiMonitorApplication (监控中心 可选) * RuoYiGenApplication (代码生成 可选) * RuoYiJobApplication (定时任务 可选) * RuoYFileApplication (文件服务 可选) #### 前端运行 * 进入项目目录 cd ruoyi-ui * 安装依赖 npm install * 本地开发 启动项目 npm run dev #### 访问API服务平台 打开浏览器,输入:(http://localhost:80 (opens new window)) 默认账户/密码 admin/admin123) ## 集成到现有微服务架构 #### 在已有环境mysql数据库中执行sql脚本 * 进入api-sqdp/sql下 * 导入数据脚本api-generation.sql(必须) * 导入通过api服务平台页面配置的api_gen_info、api_gen_access、api_gen_execute表中数据 * 完善api_gen_dict_data表中数据源信息 #### 导入api服务平台nacos配置 * 进入api-sqdp/nacos * 导入api-generation-services-dev.yml #### 现有网关新增配置 * 在网关中新增路由规则路由到api-generation-services服务 * 修改nacos配置中的generation.apipathprefix的值(与现有网关路由前缀一致) #### 部署api服务平台 * ApiGenerationServicesApplication(api服务 必须) #### 使用api服务 * 在原有的系统中就可以直接通过网关访问api服务平台中的接口了 #### api服务平台可以多节点部署,支持高并发场景 ## 体验账号 系统按日常开发使用内置的账号 管理员:admin/admin123,后端开发人员:server/server123456, 前端开发人员:web/web123456, 测试:test/test123456。 ## 演示图