在開辟RESTful API時,Swagger是一個富強的東西,它可能幫助我們生成、描述、挪用跟可視化API。要充分利用Swagger的功能,懂得並粗通其設置文件至關重要。本文將具體介紹Swagger設置文件的利用,幫助開辟者更好地控制Swagger。
一、Swagger設置文件概述
Swagger設置文件是一個Java設置類,用於設置Swagger的各種參數,如API的基本信息、掃描的包道路、註解等。設置文件平日以SwaggerConfig
命名,並利用@Configuration
註解標記。
二、設置文件基本構造
以下是一個簡單的Swagger設置文件示例:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.project"))
.paths(PathSelectors.any())
.build();
}
}
三、設置文件詳解
1. @Configuration
跟 @EnableSwagger2
這兩個註解分辨表示這是一個設置類跟啟用Swagger2。
2. @Bean
@Bean
註解用於創建一個Bean,並將其註冊到Spring容器中。在這個例子中,我們創建了一個Docket
Bean。
3. Docket
Docket
類是Swagger設置的核心,用於設置API文檔的基本信息、掃描的包道路、註解等。
3.1 DocumentationType
DocumentationType
羅列,表示Swagger文檔的範例。這裡利用SWAGGER_2
,表示利用Swagger 2.0標準。
3.2 select()
select()
方法用於設置API的掃描規矩。這裡利用RequestHandlerSelectors.basePackage("com.example.project")
表示掃描com.example.project
包下的全部把持器。
3.3 apis(RequestHandlerSelectors.basePackage("com.example.project"))
RequestHandlerSelectors
是一個工廠類,用於創建各種懇求處理器抉擇器。這裡利用basePackage("com.example.project")
表示掃描指定包下的全部把持器。
3.4 paths(PathSelectors.any())
PathSelectors
也是一個工廠類,用於創建各種道路抉擇器。這裡利用any()
表示掃描全部道路。
4. 其他設置
除了以上基本設置,Swagger還支撐以下設置:
apiInfo(ApiInfo apiInfo())
: 設置API文檔的基本信息,如標題、描述、版本等。host(String host)
: 設置API的主機地點。groupName(String groupName)
: 設置API的分組稱號。enableSwagger2
: 啟用Swagger2。
四、總結
經由過程本文的進修,信賴你曾經對Swagger設置文件有了更深刻的懂得。控制Swagger設置文件,可能幫助你更好地利用Swagger生成、描述、挪用跟可視化API。在現實開辟中,可能根據項目須要調劑設置,以滿意差其余須要。