swagger文檔規(guī)范的使用
作者一開始使用springfox接入springmvc赊堪,但是配置有點(diǎn)復(fù)雜。后來轉(zhuǎn)到springboot后相對(duì)來講配置相對(duì)較少今魔,下面來講講springfox的介入(此插件遵循swagger規(guī)范)
pom插件引入
<pre>
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
</pre>
具體版本可參考maven倉(cāng)庫
SwaggerConfig
<pre>
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.useDefaultResponseMessages(false);
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("document api")
.description("swagger style")
.version("1.0.0")
.build();
}
}
</pre>
注意的點(diǎn)@EnableSwagger2以及apiinfo()里面的信息都是顯示在api文檔里面用來提醒用戶的锭弊。
最后具體的接口配置
@Api這個(gè)用來標(biāo)記controller的內(nèi)部有description用來顯示整個(gè)controller的內(nèi)容
@ApiOperation 默認(rèn)value屬性,提示這個(gè)接口的操作麦萤,可以寫入接口方法鹿鳖,數(shù)據(jù)扁眯,頭信息,具體可參考官方文檔
@ApiImplicitParam 添加在方法上可以提示參數(shù)的類型翅帜,說明姻檀,note屬性需添加
@ApiImplicitParams 由多個(gè)@ApiImplicitParam組成
@ApiResponse 接口返回信息提示需配置code,message涝滴,response等屬性
@ApiResonses 由多個(gè)@ApiResponse組成
@ApiParam 對(duì)單個(gè)參數(shù)進(jìn)行注解
@ApiModule 配置需要說明的類型绣版,需要寫value屬性才能正確顯示
@ApiModuleProperty 字段說明
總結(jié)
由于無法上傳圖片就不貼效果圖了,最后訪問swagger-ui.html就可以了
SpringMvc內(nèi)配置比較麻煩 需要用對(duì)資源進(jìn)行攔截歼疮,要下載swagger的資源修改內(nèi)部的/v2/api-docs鏈接杂抽,相對(duì)較為麻煩,有興趣的同學(xué)也可以研究一下