swagger聚合组件
大约 1 分钟常用组件接口文档
git地址:
http://10.16.202.103:8089/component/component-ser/swagger-spring-boot-starter
聚合接口文档在线地址:
http://10.16.202.109:7778/#/service-search
解决问题
- swagger文档在每个项目中,在服务很多的情况下,要记很多地址
- 服务停止后,swagger文档无法打开,开发阶段如果服务没有部署在服务器上,后端不在线的话前端无法查看接口文档
本组件适用于spring cloud + nacos的架构,服务启动时主动发现上传swagger信息到文档聚合中心。
使用方法
- 引入pom依赖
<dependency>
<groupId>com.gosci.tech</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
- 激活profile
spring:
profiles:
active: swagger
- 配置swagger示例
knife:
aggregate:
base-package: com.gosci.tech.reservoir
description: 即墨水库API文档
group:
# 此项配置需唯一
appName: reservoir
# 此项配置需唯一
name: 即墨水库API文档
api:
title: 即墨水库API文档
contactName: 765666922@qq.com
serverUrl: http://10.16.202.109:17812
观察结果
如果服务启动之后出现了如下的日志,则表示已经注册成功
2023-11-29 14:37:58 [task-1] INFO c.g.t.s.core.SwaggerRegistryService - start register swagger
2023-11-29 14:37:58 [task-1] INFO c.g.t.s.core.SwaggerRegistryService - register swagger info ,result=true
打开在线地址即可查看文档:
目前存在的问题
在聚合模式下,无法使用原生swagger的调式功能,所以本功能目前只能用作文档查看。
core包中集成了原生knife4j的功能,如果要用swagger进行调试的话,可以使用项目地址+doc.html
进入原地址进行调试。