SpringBoot-Swagger整合zuul智能列表
SpringBoot-Swagger整合zuul智能列表
简介
可能大家都有用过swagger,可以通过ui页面显示接口信息,快速和前端进行联调。
现在基本都是多模块微服务化,每个服务都有这样的ui页面也是很不方便,swagger 也可以聚合在网关页面。
有开发过微服务的小伙伴应该体验过。当微服务模块多的情况下,每个模块都需要配置这样的一个类进行加载 swagger 。造成每个模块都存在大致一样的 SwaggerConfig ,极端的情况下,有些朋友复制其他模块的 SwaggerConfig 进行改造之后,发现仍然加载不出 swagger 的情况,造成明明是复制的,为何还加载不出,排查此bug极其费时间。
在此之上,可以构建出一个 swagger-starter 模块,只需要引用一个 jar ,加载一些特殊的配置,就可以快速地使用到 swagger 的部分功能了。
功能使用
添加依赖
ps: 实际version版本请使用最新版
最新版本:
<dependency>
<groupId>com.purgeteam</groupId>
<artifactId>swagger-spring-boot-starter<factId>
<version>0.1.2.RELEASE</version>
</dependency>
配置swagger.properties文件
在自己项目模块的resources目录下 创建swagger.properties配置
swagger.basePackage="swagger扫描项目包路径"
swagger.title="swagger网页显示标题"
swagger.description="swagger网页显示介绍"
@EnableSwaggerPlugins注解。
@EnableSwaggerPlugins
@SpringBootApplication
public class FrontDemoApplication {
public static void main(String[] args) {
SpringApplication.run(FrontDemoApplication.class, args);
}
}
访问http://ip:端口/swagger-ui.html检查swagger-ui是否正常。

Zuul网关集成
做完上面步骤一个单体服务已经完成了 swagger 的配置。
集成到 zuul 网关上还需要配置其他的集成配置。
不过使用 swagger-spring-boot-starter 之后,流程变得很轻松。
只需要添加下面 @EnableSwaggerZuul 注解即可完成集成动作。
@EnableSwaggerZuul
@SpringBootApplication
public class ZuulApplication {
public static void main(String[] args) {
SpringApplication.run(ZuulApplication.class, args);
}
}
访问http://ip:端口/swagger-ui.html检查swagger-ui是否正常。

状态支持
在 Select a spec 选择框里可以选择网关下的微服务列表进行聚合展示。
这里也支持了服务状态显示。
health > "用户服务"(user)
health > "认证服务"(auth)
sick > front-demo(已下线)
sick > giant-demo(已下线)
这里的 用户服务 认证服务 名称是根据相应服务的 swagger.properties 文件属性名 swagger.title 获取。


总结
简单的starter代码编写可以减少新模块的复杂性,只需要简单的配置就可以使用相应的特性,减少复制代码不必要的错误。
示例代码地址:swagger-spring-boot
作者GitHub:
Purgeyao 欢迎关注
qq交流群:
812321371微信交流群:MercyYao
微信公众号:

SpringBoot-Swagger整合zuul智能列表的更多相关文章
- SpringBoot+Swagger整合API
SpringBoot+Swagger整合API Swagger:整合规范的api,有界面的操作,测试 1.在pom.xml加入swagger依赖 <!--整合Swagger2配置类--> ...
- springboot swagger 整合
Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步. 作用: 1. ...
- SpringBoot+Swagger整合
0.引言及注意事项 Swagger是一个接口文档工具,依照Swagger可以0配置开发接口.不过要注意,Swagger是基于SpringBoot1.47版本开发的,而SpringBoot现在基本都是是 ...
- SpringBoot+Swagger2 整合
SpringBoot+Swagger2四步整合 第一步:添加相关依赖 <parent> <groupId>org.springframework.boot</groupI ...
- springboot+jpa+mysql+swagger整合
Springboot+jpa+MySQL+swagger整合 创建一个springboot web项目 <dependencies> <dependency> < ...
- Zuul Swagger 整合
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...
- SpringBoot与Swagger整合
1 SpringBoot与Swagger整合https://blog.csdn.net/jamieblue1/article/details/99847744 2 Swagger详解(SpringBo ...
- 2、SpringBoot+MybatisPlus整合-------BaseCRUD
开发工具:STS 代码下载链接:GitHub管理代码 版本: Springboot:1.5.14.RELEASE 使用2.0以上的Springboot,会报出一些异常.欢迎知道异常原因的大牛解惑. M ...
- SpringBoot Kafka 整合使用
前提 假设你了解过 SpringBoot 和 Kafka. 1.SpringBoot 如果对 SpringBoot 不了解的话,建议去看看 DD 大佬 和 纯洁的微笑 的系列博客. 2.Kafka K ...
随机推荐
- MaxCompute Mars开发指南
Mars 算法实践 人脸识别 Mars 是一个基于矩阵的统一分布式计算框架,而且 Mars 已经在 GitHub 中开源.当你看完 Mars 的介绍可能会问它能做什么,这几乎取决于你想做什么,因为 M ...
- 怎么清除火狐浏览器的cookie?
火狐浏览器清除Cookie方法/步骤 1.打开火狐浏览器.并在火狐浏览器工具栏找到并单击“工具”下的“选项”. 2.在打开的“火狐浏览器选项”程序窗口中,找到工具栏中的“隐私”并单击,在隐私选项下找到 ...
- 深度学习的Xavier初始化方法
在tensorflow中,有一个初始化函数:tf.contrib.layers.variance_scaling_initializer.Tensorflow 官网的介绍为: variance_sca ...
- OpenStack组件系列☞glance搭建
第一步:glance关于数据库的操作 mysql -u root -p #登入数据库 CREATE DATABASE glance; #新建库keystone GRANT ALL PRIVILEGES ...
- Layer(Web弹窗)
Layer弹窗的用法: <script src="jQuery的路径"></script> <!-- 你必须先引入jQuery1.8或以上版本 --& ...
- node_modules
怎么使外部访问module,我们知道客户端的JavaScript使用script标签引入JavaScript文件,就可以访问其内容了,但这样会带来问题,最大的就是作用域相同,产生冲突问题,以至于前端大 ...
- React与Vue的相同与不同点
我们知道JavaScript是世界上最流行的语言之一,React和Vue是JS最流行的两个框架.所以要想前端的开发那么必须掌握好这两个框架. 那么这两个框架有什么不同呢? React 和 Vue 相同 ...
- java表达式和三目运算符
是由数字.运算符.数字分组符号(括号)等以能求得数值的有意义排列的序列; a + b 3.14 + a (x + y) * z + 100 boolean b= i < 10 && ...
- Lifecycle mapping "org.eclipse.m2e.jdt.JarLifecycleMapping" Eclipse Maven报错
eclipse 项目中报错Lifecycle mapping "org.eclipse.m2e.jdt.JarLifecycleMapping" is not available, ...
- Python--day22--初识面向对象