在Spring Boot設定Swagger 2 - Baeldung

banq發表於2020-07-03

Swagger 2版本變動很大,無法像前面版本容易整合到Spring Boot中。

步驟:

1. 我們將使用Swagger規範的Springfox實現。最新版本可以在Maven Central上找到  。要將其新增到我們的Maven專案中,我們需要pom.xml檔案中的依賴項。

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

2. Spring Boot自動配置:

@Configuration
@EnableSwagger2
public class SpringFoxConfig {                                    
    @Bean
    public Docket api() { 
        return new Docket(DocumentationType.SWAGGER_2)  
          .select()                                  
          .apis(RequestHandlerSelectors.any())              
          .paths(PathSelectors.any())                          
          .build();                                           
    }
}

Swagger 2通過@ EnableSwagger2註釋啟用。

定義Docket bean 之後,其select()方法將返回ApiSelectorBuilder的例項,該例項提供了一種控制Swagger公開的端點的方法。

可以在RequestHandlerSelectors和PathSelectors的幫助下配置用於選擇RequestHandler的謂詞。兩者都使用any()可以通過Swagger獲得整個API的文件。

此配置足以將Swagger 2整合到現有的Spring Boot專案中。對於其他Spring專案,需要進行一些其他調整。

3. Swagger UI是一個內建解決方案,它使使用者與Swagger生成的API文件進行互動變得更加容易。要使用Swagger UI,還需要一個附加的Maven依賴項:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.9.2</version>
</dependency>

現在,您可以通過訪問http://localhost:8080/your-app-root/swagger-ui.html在瀏覽器中對其進行測試

更深入玩法點選標題見原文。請檢視此GitHub模組見原始碼實現

相關文章