网站首页 > 博客文章 正文
Swagger Butler是一个基于Swagger与Zuul构建的API文档汇集工具。通过构建一个简单的Spring Boot应用,增加一些配置就能将现有整合了Swagger的Web应用的API文档都汇总到一起,方便查看与测试。
项目地址
- Github:https://github.com/dyc87112/swagger-butler
- Gitee:https://gitee.com/didispace/swagger-butler
使用手册
快速入门
该工具的时候非常简单,先通过下面几步简单入门:
第一步:构建一个基础的Spring Boot应用
如您还不知道如何创建Spring Boot应用,可以先阅读本篇入门文章
第二步:在pom.xml中引入依赖
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> </parent> <dependencies> <dependency> <groupId>com.didispace</groupId> <artifactId>swagger-butler-core</artifactId> <version>1.0.0</version> </dependency> </dependencies>
第三步:创建应用主类,增加@EnableSwaggerButler注解开启Swagger Butler功能
@EnableSwaggerButler @SpringBootApplication public class StaticApplication { public static void main(String[] args) { SpringApplication.run(StaticApplication.class); } }
第四步:配置文件中增加Swagger文档的地址配置
spring.application.name=swagger-butler-example-static server.port=11000 zuul.routes.service-a.path=/service-a/** zuul.routes.service-a.url=http://localhost:10010/ swagger.butler.resources[0].name=service-a swagger.butler.resources[0].url=/service-a/v2/api-docs swagger.butler.resources[0].swagger-version=2.0 zuul.routes.service-b.path=/service-b/** zuul.routes.service-b.url=http://localhost:10020/ swagger.butler.resources[1].name=service-b swagger.butler.resources[1].url=/service-b/v2/api-docs swagger.butler.resources[1].swagger-version=2.0
上面配置了两个文档位置,由于这里还没有引入服务发现机制,所以需要先用zuul来配置访问本应用请求被转发到具体服务的路由规则。然后在配置resource信息指向具体的获取swagger的json配置文档的接口链接。
第五步:访问http://localhost:11000/swagger-ui.html
Example
代码示例具体可见swagger-butler-example-static目录
原理可见:Spring Cloud Zuul中使用Swagger汇总API接口文档
与eureka整合
在整合eureka获取所有该注册中心下的API文档时,只需要在上面工程的基础上增加下面的配置:
第一步:pom.xml中增加eureka依赖,比如:
<dependencies> <dependency> <groupId>com.didispace</groupId> <artifactId>swagger-butler-core</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> <version>1.3.2.RELEASE</version> </dependency> </dependencies>
第二步:应用主类增加@EnableDiscoveryClient,比如:
@EnableDiscoveryClient @EnableSwaggerButler @SpringBootApplication public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class); } }
第三步:配置文件中增加eureka的配置,比如:
spring.application.name=swagger-butler-example-eureka server.port=11001 eureka.client.service-url.defaultZone=http://eureka.didispace.com/eureka/
代码示例具体可见swagger-butler-example-eureka目录
与consul整合
在整合eureka获取所有该注册中心下的API文档时,只需要在上面工程的基础上增加下面的配置:
第一步:pom.xml中增加consul依赖,比如:
<dependencies> <dependency> <groupId>com.didispace</groupId> <artifactId>swagger-butler-core</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> <version>1.3.2.RELEASE</version> </dependency> </dependencies>
第二步:应用主类增加@EnableDiscoveryClient,比如:
@EnableDiscoveryClient @EnableSwaggerButler @SpringBootApplication public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class); } }
第三步:配置文件中增加eureka的配置,比如:
spring.application.name=swagger-butler-example-consul server.port=11002 spring.cloud.consul.host=localhost spring.cloud.consul.port=8500
代码示例具体可见swagger-butler-example-consul目录
猜你喜欢
- 2024-10-05 API 文档简洁之美,只需三步开启(api文档怎么写)
- 2024-10-05 自动接口文档生成实战教程(接口自动化上传文件)
- 2024-10-05 Postman与APIfox:两款强大的接口测试工具详解
- 2024-10-05 在线API文档工具Knife4j简明使用教程
- 2024-10-05 推荐四个强大的API管理平台(推荐四个强大的api管理平台是)
- 2024-10-05 接口文档生成详细教程(接口文档自动生成工具)
- 2024-10-05 TP5接口文档管理(tp5接口开发)
- 2024-10-05 推荐几款常见的API接口管理工具(api接口使用教程)
- 2024-10-05 一款零注解侵入的 API 文档生成工具,你用过吗?
- 2024-10-05 接口测试工具(接口测试工具swagger)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- messagesource (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)