关键词:
Swagger整合多个微服务统一API接口文档
单系统Spring Boot 整合Swagger或者 Swagger注解介绍 请看另一篇文章
准备工具
1. 自己搭建准备好微服务环境
2. 里面至少包含一个注册中心,一个网关,两个其他服务
当前演示的测试环境配置
1个注册中心(eureka)、1个网关(zuul)、和user-consumer、user-provider 两个服务
开搞!
1. 引入依赖
在除了注册中心里面的所有的服务都引入依赖
<!--引入swagger API服务-->
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.9.0.RELEASE</version>
</dependency>
2. 配置网关
在网关的服务下,创建DocumentationConfig 类
在get() 方法中,List里面添加需要展示API接口的服务
resources.add(swaggerResource("分组名称", "/服务名称/v2/api-docs", "版本号"));
/**
* @Auther: wan
* @Date: 2021/4/8 16:12
* @Description:
* @version: 1.0
*/
@Component
@Primary
public class DocumentationConfig implements SwaggerResourcesProvider
@Override
public List<SwaggerResource> get()
List resources = new ArrayList<>();
resources.add(swaggerResource("user-consumer系统", "/user-consumer/v2/api-docs", "1.0.0"));
resources.add(swaggerResource("user-provider系统", "/user-provider/v2/api-docs", "1.0.0"));
return resources;
private SwaggerResource swaggerResource(String name, String location, String version)
SwaggerResource swaggerResource = new SwaggerResource();
swaggerResource.setName(name);
swaggerResource.setLocation(location);
swaggerResource.setSwaggerVersion(version);
return swaggerResource;
然后在创建SwaggerConfig 类,这个类需要在网关服务,user-consumer、user-provider 服务下都得配置,所有需要在Swagger中展示的API服务都得加
@Bean public Docket createRestApi() return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.wan.userprovider"))//指定当前服务扫描的包路径 .build();
private ApiInfo apiInfo() return new ApiInfoBuilder() .title("标题") .description("服务接口描述") .termsOfServiceUrl("http://localhost:8003") .contact(new Contact("vker", "", "6492178@gmail.com")) .version("版本号") .build();
代码示例:
/**
* @Auther: wan
* @Date: 2021/4/8 15:58
* @Description: com.wan.zuulserver.config
* @version: 1.0
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig
@Bean
public Docket createRestApi()
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.wan.userprovider"))//指定包路径
.build();
private ApiInfo apiInfo()
return new ApiInfoBuilder()
.title("user-provider")
.description("user-provider系统接口文档说明")
.termsOfServiceUrl("http://localhost:8003")
.contact(new Contact("vker", "", "6492178@gmail.com"))
.version("1.0.0")
.build();
@Bean
UiConfiguration uiConfig()
return new UiConfiguration(null, "list", "alpha", "schema",
UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS, false, true, 60000L);
配置如下
依赖引入:网关服务、user-consumer、user-provider 服务
SwaggerConfig 类:网关服务、user-consumer、user-provider 服务
DocumentationConfig:网关服务
接下来运行项目,看效果:
16springcloud整合swagger2构建restful服务的apis
SpringCloud将服务注册到了Eureka上,可以从Eureka的UI界面中,看到有哪些服务已经注册到了EurekaServer上;但是如果想查看当前服务提供了哪些RESTful接口方法的话,就无法从EurekaServer获取了,而传统的方法是梳理一个接口文档来供开... 查看详情
springcloud整合swagger2
详细用法: https://www.cnblogs.com/softidea/p/6251249.html 原文链接(注意文末):https://blog.csdn.net/ityqing/article/details/81217383一、引入依赖:<dependency><groupId>io.springfox</groupId& 查看详情
springcloud系列之四---zuul网关整合swaagger2管理api
前言本篇文章主要介绍的是Zuul网关整合Swaagger2管理API。实现过程需要先创建eureka服务端,再创建多个微服务项目,每个微服务项目整合swagger2,形成接口文档,并且每个微服务需要注册到eureka注册中心。再创建zuul网关对所有的sw... 查看详情
springcloud整合alibaba环境搭建(代码片段)
SpringCloud整合Alibaba环境搭建准备工作环境要求JDK1.8.+、Maven3.6.3、springboot2.2.5、springcloudHoxton+、springcloudalibaba2.2.1.RELEASE整合思路服务注册中心 nacos统一配置中心 nacos服务熔断组件 sentinel服务间通信组件openfeign+ribbon服务网... 查看详情
白话springcloud|第十一章:路由网关(zuul):利用swagger2聚合api文档
前言通过之前的两篇文章,可以简单的搭建一个路由网关了。而我们知道,现在都奉行前后端分离开发,前后端开发的沟通成本就增加了,所以一般上我们都是通过swagger进行api文档生成的。现在由于使用了统一路由网关了,都... 查看详情
springboot整合swagger框架
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许API来始终保... 查看详情
springcloudzuul集成swagger
写在前面 本文参考以下文章,请参考原文SpringCloud从入门到精通SpringCloudZuul中使用Swagger汇总API接口文档待解决问题在微服务架构中,Swagger为各个微服务生成的API文档都都离散在各个微服务中,不方便查看,我们希望将这些... 查看详情
springcloud整合openfeign
参考技术A使用Feign可以完成服务间调用,但是总存在一种情况:服务提供方没有注册到注册中心、服务提供方还没开发完成(因此也就无法调用)等等。此时如果我们需要完成服务之间调用该如何做呢?Feign提供了fallback机制,也就... 查看详情
springcloud整合alibaba环境搭建(代码片段)
SpringCloud整合Alibaba环境搭建准备工作环境要求JDK1.8.+、Maven3.6.3、springboot2.2.5、springcloudHoxton+、springcloudalibaba2.2.1.RELEASE整合思路服务注册中心 nacos统一配置中心 nacos服务熔断组件 sentinel服务间通信组件openfeign+ribbon服务网... 查看详情
springcloud整合alibaba环境搭建(代码片段)
SpringCloud整合Alibaba环境搭建准备工作环境要求JDK1.8.+、Maven3.6.3、springboot2.2.5、springcloudHoxton+、springcloudalibaba2.2.1.RELEASE整合思路服务注册中心 nacos统一配置中心 nacos服务熔断组件 sentinel服务间通信组件openfeign+ribbon服务网... 查看详情
springcloud整合alibaba环境搭建(代码片段)
SpringCloud整合Alibaba环境搭建准备工作环境要求JDK1.8.+、Maven3.6.3、springboot2.2.5、springcloudHoxton+、springcloudalibaba2.2.1.RELEASE整合思路服务注册中心 nacos统一配置中心 nacos服务熔断组件 sentinel服务间通信组件openfeign+ribbon服务网... 查看详情
springcloud+zookeeper+feign整合及feign原理
参考技术ASpringCloud与Zookeeper的整合只需要添加相关的starter依赖和增加相关注解即可完成。pom.xml如下:bootstrap.yml如下:最后开启服务的注册与发现service和controller实现笔者加入了swagger,如果需要只需加入如下依赖和配置:至此,... 查看详情
整合springcloud云服务架构-springcloud简介
SpringCloud是一系列框架的有序集合。利用SpringBoot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器、数据监控等(这里只简单的列了一部分),都可以用SpringBoot的开发... 查看详情
整合springcloud云服务架构-springcloud简介
SpringCloud是一系列框架的有序集合。利用SpringBoot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器、数据监控等(这里只简单的列了一部分),都可以用SpringBoot的开发... 查看详情
整合springcloud云服务架构-springcloud简介
SpringCloud是一系列框架的有序集合。利用SpringBoot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器、数据监控等(这里只简单的列了一部分),都可以用SpringBoot的开发... 查看详情
springcloud整合
一、Springcloud5大组件服务注册与发现——NetflixEureka负载均衡:客户端负载均衡——NetflixRibbon服务端负载均衡——Feign(其也是依赖于Ribbon,只是将调用方式RestTemplete更改成Service接口)断路器:NetflixHystrix服务网关:NetflixZuul分布式... 查看详情
springboot整合swagger,方便后端测试
参考技术A用Swagger能够在后端写好接口后进行测试,测试过程非常方便。Swagger是一个用于生成、描述和调用RESTful接口的Web服务。通俗的来讲,Swagger就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和... 查看详情
整合springcloud云服务架构-springcloud简介
Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器、数据监控等(这里只简单的列了一部分),都可以用Spr... 查看详情