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智能列表的更多相关文章

  1. SpringBoot+Swagger整合API

    SpringBoot+Swagger整合API Swagger:整合规范的api,有界面的操作,测试 1.在pom.xml加入swagger依赖 <!--整合Swagger2配置类--> ...

  2. springboot swagger 整合

    Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务. 文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步. 作用: 1.  ...

  3. SpringBoot+Swagger整合

    0.引言及注意事项 Swagger是一个接口文档工具,依照Swagger可以0配置开发接口.不过要注意,Swagger是基于SpringBoot1.47版本开发的,而SpringBoot现在基本都是是 ...

  4. SpringBoot+Swagger2 整合

    SpringBoot+Swagger2四步整合 第一步:添加相关依赖 <parent> <groupId>org.springframework.boot</groupI ...

  5. springboot+jpa+mysql+swagger整合

    Springboot+jpa+MySQL+swagger整合 创建一个springboot web项目 <dependencies> <dependency>      < ...

  6. Zuul Swagger 整合

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...

  7. SpringBoot与Swagger整合

    1 SpringBoot与Swagger整合https://blog.csdn.net/jamieblue1/article/details/99847744 2 Swagger详解(SpringBo ...

  8. 2、SpringBoot+MybatisPlus整合-------BaseCRUD

    开发工具:STS 代码下载链接:GitHub管理代码 版本: Springboot:1.5.14.RELEASE 使用2.0以上的Springboot,会报出一些异常.欢迎知道异常原因的大牛解惑. M ...

  9. SpringBoot Kafka 整合使用

    前提 假设你了解过 SpringBoot 和 Kafka. 1.SpringBoot 如果对 SpringBoot 不了解的话,建议去看看 DD 大佬 和 纯洁的微笑 的系列博客. 2.Kafka K ...

随机推荐

  1. python 函数的语法规则

  2. Uva 568 【大整数】

    UVa568 题意:求N!(N<=10000)的最后一位非0数. 10000以内5^5 = 3125最多可以影响后5位.所以直接保存后五位就行. #include<iostream> ...

  3. 基于Qt框架的GUI控制台——qtconsole

  4. 2019-7-1-VisualStudio-快速设置启动项目

    title author date CreateTime categories VisualStudio 快速设置启动项目 lindexi 2019-07-01 14:37:38 +0800 2019 ...

  5. @bzoj - 4922@ [Lydsy1706月赛]Karp-de-Chant Number

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 卡常数被称为计算机算法竞赛之中最神奇的一类数字,主要特点集中于令 ...

  6. @雅礼集训01/10 - T1@ matrix

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个矩阵.求它的所有子矩阵中本质不同的行的个数之和. inp ...

  7. Python字节码介绍

    了解 Python 字节码是什么,Python 如何使用它来执行你的代码,以及知道它是如何帮到你的.如果你曾经编写过 Python,或者只是使用过 Python,你或许经常会看到 Python 源代码 ...

  8. OpenStack组件系列☞Keystone搭建

    一:版本信息 官网:http://docs.openstack.org/newton/install-guide-rdo/keystone.html 二:部署keystone 官网文档:http:// ...

  9. oracle函数 ceil(x)

    [功能]返回大于等于x的最小整数值 [参数]x,数字型表达式 [返回]数字 [示例] select ceil(3.1),ceil(2.8+1.3),ceil(0) from dual; 返回4,5,0

  10. oracle comment on的用法

    转:http://www.2cto.com/database/201109/106249.html   oracle中用comment on命令给表或字段加以说明,语法如下:COMMENT ON  { ...