# xingheapi **Repository Path**: softwarePro/xingheapi ## Basic Information - **Project Name**: xingheapi - **Description**: 基于React + Spring Boot + Dubbo  + Spring Cloud的星河接口开放平台。管理员可以发布和下线接口,并可视化查看各接口调用情况;用户可以开通调用接口的权限、在线调试接口,并基于本项目使用的客户端SDK调用接口。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-05-17 - **Last Updated**: 2023-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目介绍 基于 React + Spring Boot + Dubbo + Gateway 的 API 接口开放调用平台。管理员可以接入并发布接口,可视化各接口调用情况;用户可以开通接口调用权限、浏览接口及在线调试,并通过客户端 SDK 轻松调用接口。 ## 项目主要功能 - 项目主要由5个模块构成: 1. xingheapi-backend:星河api的后端业务代码,主要包括用户管理、接口管理等业务代码,同时整合了Dubbo,提供给网关进行无感知调用。 2. xingheapi-common: 抽取出公共的实体类、服务类,方便RPC项目的扩展。 3. xinghe-interface:提供模拟调用接口,用于网关和后端代码调用 4. xingheapi-gateway:网关模块,主要对用户请求进行同一鉴权、流量染色、接口同一调用管理等操作。 5. xingheapi-client-sdk:方便开发人员调用测试接口。 6. xingheapi-frontend:前端代码,用于用户和测试人员进行访问。 ## 业务流程 ![输入图片说明](img/%E4%B8%9A%E5%8A%A1%E6%B5%81%E7%A8%8B.jpg) ## 项目设计的技术 - Spring Boot 2.7.0 - MySQL - MyBatis Plus - Spring Session Redis 分布式登录 - Spring AOP - Lombok - Swagger + Knife4j 接口文档 - Dubbo (zookeeper作为注册中心) - Spring Cloud Gateway ## 项目使用 1. 开启本地的Redis和zookeeper, 如果使用远程的zookeeper,请修改backend、gateway中zookeeper地址 2. 修改所有用到mysql的项目中的application.yaml文件中的mysql配置,项目中提供sql文件,可以在自己mysql中创建表结构 3. 依次启动 xinghe-interface、xingheapi-backend、xingheapi-gateway、xingheapi-frontend项目 4. xingheapi-backend 整合了knife4j技术,运行后可以访问 http://ip:端口/api/doc.html 进行在线调试等功能 ## 项目详细介绍及开发 参考note.md文档