Swagger 是最流行的用于設計、建構和記錄 RESTful API 的工具。它與 Spring Boot 有很好的內建。要将其與 Spring 結合使用,我們需要向 Maven管理檔案中 添加以下兩個依賴項 pom.xml
。
1 2 3 4 5 6 7 8 9 10 | |
單個 Spring Boot 服務的 Swagger 配置非常簡單。如果您想為多個分離的微服務建立一個文檔,則複雜程度更高。此類文檔應在 API 網關上可用。在下圖中,您可以看到我們示例解決方案的架構。

首先,我們應該在每個微服務上配置 Swagger。要啟用它,我們必須
@EnableSwagger2
在主類上聲明。在應用程式啟動期間,Swagger 庫将根據源代碼自動生成 API 文檔。程序由
Docket
@Bean
控制,在主類中聲明。我們還使用apiInfo方法設定了一些其他屬性,如标題、作者和描述。預設情況下,Swagger 為所有 REST 服務生成文檔,包括由 Spring Boot 建立的服務。我們希望将文檔僅限于
@RestController
位于com.microservices.advanced.account.api包中的文檔。
|
這是我們的 API RESTful 控制器。
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
每個微服務上都存在類似的 Swagger 配置。API 文檔位于http://localhost:/swagger-ui.html 下。現在,我們希望為所有微服務啟用一個嵌入網關的文檔。這是 Spring
@Component
實作
SwaggerResourcesProvider
接口,它覆寫 Spring 上下文中存在的預設提供程式配置。
|
所有微服務 api-docs 都作為 Swagger 資源添加。位置位址通過 Zuul 網關代理。這是網關路由配置。
|
現在,API 文檔在網關位址http://localhost:8765/swagger-ui.html下可用。您可以在下圖中看到它如何查找帳戶服務。我們可以在标題面闆内的組合框中選擇源服務。
通過提供
UIConfiguration
@Bean
. 在下面的代碼中,我通過将“list”設定為第二個構造函數參數 - docExpansion 來更改預設操作擴充級别。
|
您可以展開每個操作以檢視詳細資訊。每個操作都可以通過提供所需參數并單擊Try it out來測試!按鈕。
使用 Zuul、Ribbon、Feign、Eureka 和 Sleuth、Zipkin 建立簡單spring cloud微服務用例-spring cloud 入門教程
微服務內建SPRING CLOUD SLEUTH、ELK 和 ZIPKIN 進行監控-spring cloud 入門教程
使用Hystrix 、Feign 和 Ribbon建構微服務-spring cloud 入門教程
使用 Spring Boot Admin 監控微服務-spring cloud 入門教程
基于Redis做Spring Cloud Gateway 中的速率限制實踐-spring cloud 入門教程
內建SWAGGER2服務-spring cloud 入門教程
Hystrix 簡介-spring cloud 入門教程
Hystrix 原理深入分析-spring cloud 入門教程
使用Apache Camel建構微服務-spring cloud 入門教程
內建 Kubernetes 來建構微服務-spring cloud 入門教程
內建SPRINGDOC OPENAPI 的微服務實踐-spring cloud 入門教程
SPRING CLOUD 微服務快速指南-spring cloud 入門教程
基于GraphQL的微服務實踐-spring cloud 入門教程
最火的Spring Cloud Gateway 為經過身份驗證的使用者啟用速率限制實踐-spring cloud 入門教程