# 网关路由配置修复说明 ## 问题分析 您的网关配置中已经包含了 `ruoyi-system` 和 `ruoyi-manage` 的路由,但是 **缺少 Swagger 文档的专门路由**。 ### 当前路由配置 - `ruoyi-system` → `/system/**` - `ruoyi-manage` → `/manage/**` ### Swagger 文档访问路径 - `ruoyi-system` Swagger → `/ruoyi-system/v3/api-docs` - `ruoyi-manage` Swagger → `/ruoyi-manage/v3/api-docs` **问题**:`/ruoyi-system/v3/api-docs` 和 `/ruoyi-manage/v3/api-docs` 无法匹配现有的路由规则! ## 解决方案 在 Nacos 配置中心的 `ruoyi-gateway-dev.yml` 文件中,添加 Swagger 文档的专门路由: ```yaml spring: cloud: gateway: discovery: locator: lowerCaseServiceId: true enabled: true routes: # 认证中心 - id: ruoyi-auth uri: lb://ruoyi-auth predicates: - Path=/auth/** filters: - CacheRequestBody - ValidateCodeFilter - StripPrefix=1 # 代码生成 - id: ruoyi-gen uri: lb://ruoyi-gen predicates: - Path=/code/** filters: - StripPrefix=1 # 定时任务 - id: ruoyi-job uri: lb://ruoyi-job predicates: - Path=/schedule/** filters: - StripPrefix=1 # 系统模块 - id: ruoyi-system uri: lb://ruoyi-system predicates: - Path=/system/** filters: - StripPrefix=1 # 系统模块 Swagger 文档(新增) - id: ruoyi-system-swagger uri: lb://ruoyi-system predicates: - Path=/ruoyi-system/v3/api-docs/** filters: - StripPrefix=1 # 文件服务 - id: ruoyi-file uri: lb://ruoyi-file predicates: - Path=/file/** filters: - StripPrefix=1 # 物业施工作业管理系统 - id: ruoyi-manage uri: lb://ruoyi-manage predicates: - Path=/manage/** filters: - StripPrefix=1 # 物业施工作业管理系统 Swagger 文档(新增) - id: ruoyi-manage-swagger uri: lb://ruoyi-manage predicates: - Path=/ruoyi-manage/v3/api-docs/** filters: - StripPrefix=1 ``` ## 操作步骤 1. 登录 Nacos 控制台:`http://127.0.0.1:8848/nacos` 2. 进入"配置管理" -> "配置列表" 3. 找到 `ruoyi-gateway-dev.yml` 配置文件 4. 在 `routes` 列表中添加上述两个 Swagger 路由配置 5. 点击"发布"保存配置 6. **重启网关服务**(`ruoyi-gateway`) ## 验证 配置完成后,访问以下 URL 验证: 1. **Swagger 文档**: - `http://localhost:8080/ruoyi-system/v3/api-docs` - 应该返回系统模块的 API 文档 JSON - `http://localhost:8080/ruoyi-manage/v3/api-docs` - 应该返回管理模块的 API 文档 JSON 2. **Swagger UI**: - `http://localhost:8080/swagger-ui.html` 或 `http://localhost:8080/doc.html` - 在服务下拉列表中应该能看到 `ruoyi-system` 和 `ruoyi-manage` - 选择服务后应该能看到"用户管理"和"部门管理"的接口 3. **业务接口**: - `http://localhost:8080/system/user/list` - 用户列表 - `http://localhost:8080/system/dept/list` - 部门列表 ## 注意事项 - 路由配置修改后必须重启网关服务才能生效 - `StripPrefix=1` 表示去掉路径的第一段(如 `/ruoyi-system/v3/api-docs` 会变成 `/v3/api-docs` 转发到后端服务) - Swagger 文档路径已经在白名单中(`/*/v3/api-docs`),不需要认证即可访问