swagger是一種強(qiáng)大的REST接口管理系統(tǒng),通過簡(jiǎn)單的配置,即可以將系統(tǒng)提供的REST接口以豐富的可視化形式展示給用戶使用。
1. 添加依賴
要在Spring Boot中配置這個(gè)功能,首先需要增加如下其依賴。依賴分為兩個(gè)部分。
<!--添加swagger依賴-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
2. 使能swagger的配置類
新增一個(gè)Swagger 的配置類,使用@Configuration
注解和@EnableSwagger2
注解該類,即可以實(shí)現(xiàn)一個(gè)最小化的無侵入Swagger配置。此時(shí),打開http://localhost:8080/上下文/swagger-ui.html
就能夠進(jìn)行訪問。
當(dāng)然,由于是最小化的配置,不可避免的這個(gè)文檔不夠人性化。包含了大量的系統(tǒng)內(nèi)部REST服務(wù)等,也缺乏友好的交互頁面。
為了能簡(jiǎn)單優(yōu)化一下這個(gè)頁面,我們對(duì)這個(gè)配置類進(jìn)行簡(jiǎn)單的配置。
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("org.liyubo.lianlizhicore.controller")) // 掃描指定的地方,不要引入一堆系統(tǒng)服務(wù)
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot中使用Swagger2構(gòu)建 RESTful APIs")
.description("對(duì)系統(tǒng)功能的簡(jiǎn)單描述")
.termsOfServiceUrl("#")
.contact("作者信息")
.version("1.0")
.build();
}
另外,為了讓每個(gè)服務(wù)能夠友好的顯示其功能。可以再在RSET的響應(yīng)上,通過@ApiOperation(value="系統(tǒng)用戶信息更新接口", notes="")
注解進(jìn)行更為詳細(xì)的介紹。
3. 最終形成的一個(gè)基本效果
最終效果