前言:上一篇博文記錄了Swagger的基本使用(地址),有兩個問題須要處理:html
1). 訪問swagger地址須要加上認證 2). 微服務架構下整合全部服務的API地址
在SpringCloud微服務架構下,咱們通常都會使用zuul作網關,用來作請求轉發和鑑權等操做,因此,咱們能夠將swagger整合到zuul裏面,使用zuul的認證來實現swagger的訪問管理api
服務swagger配置-參考上一篇博文架構
zuul引入swagger配置微服務
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("zuul服務API") .description("zuul服務API說明") .termsOfServiceUrl("https://server.zuul.com/") .version("1.0") .build(); } }
security.user.name = zuul security.user.password = zuul security.basic.path = /swagger-ui.html security.basic.enabled = true zuul.routes.user.path = /api/user/** zuul.routes.user.stripPrefix = false zuul.routes.user.serviceId = user zuul.routes.userSwagger.path = /user/** zuul.routes.userSwagger.stripPrefix = true zuul.routes.userSwagger.serviceId = user
訪問zuul的swagger地址輸入用戶名和密碼,效果以下: ui