1. 程式人生 > >SpringBoot-Swagger整合zuul智慧列表

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整合zuul智慧列表 簡介 可能大家都有用過swagger,可以通過ui頁面顯示介面資訊,快速和前端進行聯調。 現在基本都是多模組微服務化,每個服務都有這樣的ui頁面也是很不方便,swagger 也可以聚合在閘道器頁面。 有開發過微服務的小夥伴應該體驗過。當微服務模組多的情

springboot swagger 整合

conf swagger div autowire api接口 handlers ppi 方法 set Swagger 是一個規範和完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。 文件的方法,參數和模型緊密集成到服務器端的代碼,允許API來

springboot+jpa+mysql+redis+swagger整合步驟

cti pom bsp mysql 方式 引入 ger value mys springboot+jpa+MySQL+swagger框架搭建好之上再整合redis: 在電腦上先安裝redis: 一、在pom.xml中引入redis 二、在application.yml裏配

SpringBoot整合swagger形成API文件

SpringBoot中整合swagger形成API文件 環境版本 開始使用 1.新增依賴 2.新增Swagger2配置類 3.在Controller中使用 4.訪問 環境版本 springboo

21-SpringBootSwagger——整合Swagger2

SpringBoot之Swagger——整合Swagger2 1. 新增pom依賴 2. 新建Swagger的配置類 3. Controller 4. 執行結果 5. 原始碼下載 Swagger 是一個規範和完整的框架,用於

springboot(6)--整合swagger

個人覺得swagger有點類似於阿里的hsf ops,只不過hsf ops是用於線上測試分散式服務,而swagger是用於線上測試rest api,感覺springboot整合swagger需要好多註解。。。。 0.在pom檔案引入依賴 <dependency>

springboot專案整合swagger版本改變遇到的問題

swagger要2.7.0版本到2.9.2會報錯但不影響正常使用,2.9.2降低2.7.0會無法進行訪問。 升版本伺服器會報以下錯誤: 解決方式:去除一些依賴 <!-- swagger pom 依賴 --> <

swaggerspringboot整合實戰

說明:這篇筆記參考了下面的部落格,感謝博主。 第 1 步: 引入相關的依賴。 <dependency> <groupId>com.mangofactory</groupId> <artifactId&

springboot專案整合swagger全過程

背景: 最近進行專案優化,增添swagger功能方便介面測試! 一、swagger簡介 Swagger 是一個規範和完整的框架,用於生成、描述、呼叫和視覺化 RESTful 風格的 Web 服務。總體目標是使客戶端和檔案系統作為伺服器以同樣的速度來更新。檔案的

SpringBoot整合swagger

1、引入依賴 <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2&l

springboot,mybatis,mybatisplus,swagger整合

  這段時間準備自己搭建一個快速開發的專案,所以選擇用springboot與mybatisplus整合生成基礎的CRUD方法,利用swagger生成程式碼文件。一步一步把搭建過程記錄下來,希望能給初學者提供幫助。 搭建springboot   在idea上選擇新建工

API管理-基於SpringBoot專案整合swagger實現介面文件自動生成

1. 為什麼要使用swagger? 上一次部落格(API管理-使用開源xxl-api專案管理介面)中我也提到過介面文件在整個生命

springboot+rabbitmq整合示例程

param resource pom del actor .cn pri 完全 pan 關於什麽是rabbitmq,請看另一篇文: http://www.cnblogs.com/boshen-hzb/p/6840064.html 一、新建maven工程:springboot

Springboot redis 整合

不優雅 settime 朋友 最大 阻塞 操作 create rom unit 年末將至,是時候該把所學的總結下了。最近正好從eclipes轉到idea,發現idea對模組的支持很棒。這一片先總結下springboot和redis的整合 首先添加redis服務器 直接用do

springboot swagger api管理

.com cat 創建 暴露 mave cati boot 方法 img 一 引入maven包 二 創建SwaggerConfig類 三 暴露資源 四 攔截器過濾 五 ServiceApplication添加註解 六 類和方法註解 七 啟動項目訪問http:

springboot+swagger

version spa ann require desc 其中 pid quest ignore 一、引入依賴 <dependency> <groupId>io.springfox</groupId>

springboot/Mybatis整合

lookup can selectall odi 容易 runt 位置 list keys 正題 本項目使用的環境: 開發工具:Intellij IDEA 2017.1.3 springboot: 1.5.6 jdk:1.8.0_161 maven:3.3.9 額外功能

springboot mybatis 整合

char override ssp figure private on() new doctype xml文件 新建項目在上一篇. 第二步:創建表和相應的實體類 實體類:user.java package com.qtt.im.entity; import java.

springboot+shiro整合教程

sco actor attr run max 修改 authz prope ava 本教程整合環境: java8 maven 開發工具: idea 版本: springboot 1.5.15.RELEASE 註: 1.本教程數據操作是模擬數據庫操作,並沒有真正進行持

Websocket教程SpringBoot+Maven整合(目錄)

cat 單播 sim 系統 方案 acc stomp sock class 1、大話websocket及課程介紹 簡介: websocket介紹、使用場景分享、學習課程需要什麽基礎 2、課程技術選型和瀏覽器兼容講解 簡介: 簡