Spring4整合Swagger:真的只需要四步,五分鐘速成
阿新 • • 發佈:2019-02-14
- 如果你所在的公司的還沒有使用swagger甚至沒有聽說過swagger,趕快學習一下我的這篇部落格吧,五分鐘速成,傻瓜式的整合,但就是這麼簡單的應用一定會讓他們震驚到的。
- 首先對swagger做一個簡介吧:swagger是後臺開發的神器,也是前後端交流的渠道。你可以用swagger做什麼?首先,你以後基本可以告別單元測試了;其次,你不用再寫介面文件了,也不需要寫完之後再去對文件進行維護了。swagger可以完全模擬http請求,入參出參和實際情況差別幾乎為零。說了這些,直接來乾貨吧!
- 整合四部曲:
- 第一步:匯入兩個依賴吧,如果你不是maven專案,那你去找找jar包吧,記住只需要兩個,我看別的教程引入了七八個,簡直是浪費。
- 第一步:匯入兩個依賴吧,如果你不是maven專案,那你去找找jar包吧,記住只需要兩個,我看別的教程引入了七八個,簡直是浪費。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId >
<version>2.6.1</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 第二步:新增一個類(拷貝下面的即可,注意修改包名,地址)
/**
* Swagger配置
*
* @author wq
* @since 2017-05-16
*/
@EnableWebMvc
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.z*.b*.c*.controller" )) // 注意修改此處的包名
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("介面列表 v1.1.0") // 任意,請稍微規範點
.description("介面測試") // 任意,請稍微規範點
.termsOfServiceUrl("http://url/swagger-ui.html") // 將“url”換成自己的ip:port
.contact("laowu") // 無所謂(這裡是作者的別稱)
.version("1.1.0")
.build();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 第三步:在mvc的配置的檔案中新增下面配置,可能你的檔案也許是叫 dispatcher.xml!(照抄即可,完全不需要修改)
<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/"/>
<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>
- 1
- 2
- 第四步:在方法和引數上添加註解
方法上:
@ApiOperation(value = "教程", httpMethod = "POST", notes = "教程")
放在入參中:
@ApiParam(required = true, name = "test", value = "教程入參")
- 1
- 2
- 3
- 4
擔心有些朋友還不太明白,放張圖吧!
- 第五步:啟動服務,然後在瀏覽器輸入:
http://ip:port/swagger-ui.html
- 1
出現下面的畫面就代表大功告成:
注意事項:如果你的專案中使用了攔截器,請將swagger資源放行(還是可以直接拷貝下面的配置,全部,不要懷疑v2)
<mvc:exclude-mapping path="/swagger*/**"></mvc:exclude-mapping>
<mvc:exclude-mapping path="/v2/**"></mvc:exclude-mapping>
<mvc:exclude-mapping path="/webjars/**"></mvc:exclude-mapping>
- 1
- 2
- 3