Swagger接口文檔,在線自動生成模板和頁面。服務器地址加上swagger-ui.html后綴即可訪問到(https://域名:端口號/swagger-ui.html)。
使用時在java代碼中引用navan管理pom.xml中添加依賴:
-
<!-- Swagger-mvc -->
-
<dependency>
-
<groupId>com.mangofactory</groupId>
-
<artifactId>swagger-springmvc</artifactId>
-
<version>1.0.2</version>
-
</dependency>
我在項目中使用的是SpringBoot框架,減少了很多的配置信息
在進行接口設計的Controller中,只需要使用Swagger注解。其中下面的@Api、@ApiOperaction、@Apiparam都是Swagger注解:
其中@Api表示這是一個需要Swagger表示的類寫在Controller的頭部,如圖;
@ApiOperaction表示這是一個需要Swagger修飾的接口,其中表明了請求方式、說明等信息。@ApiParam表示該接口輸入的參數:
value是參數的值說明;name表示變量名;paramType表示傳入類型,我所知類型:請求頭傳入寫query,JSON類型傳入寫json;defaultValue表示默認值;required表示參數是否必須傳。
API接口文檔標識的內容只用於注釋,沒有實際意義,表示必須傳入,只在文檔中提示,沒傳不提示報錯。若想判斷,可在參數前些@requestParam注解 
寫好API注解文檔后,啟動項目。可以在swagger.html中對接口進行模擬測試,簡單方便。
在對應字段中輸入測試值,點擊try it out請求接口,返會參數將在respnseBody中展示: 
以上就是Swagger對接口管理和測試的簡單實用方法,另外它還可以對Bean進行注釋和管理。
對於一個實體模型,需要使用swagger去標識。如下面的Student模型,其中的@ApiModel、@ApiModelProperty都是屬於Swagger的注解。如果需要在接口中返回模型對象,則需要使用以下的方式去注解。
-
@ApiModel(value = "學生對象", description = "student")
-
public class Student {
-
-
@ApiModelProperty(value = "姓名", required = true)
-
String name;
-
@ApiModelProperty(value = "年齡", required = true)
-
String age;
-
-
public Student(String name, String age) {
-
this.name = name;
-
this.age = age;
-
}
-
-
public String getName() {
-
return name;
-
}
-
-
public void setName(String name) {
-
this.name = name;
-
}
-
-
public String getAge() {
-
return age;
-
}
-
-
public void setAge(String age) {
-
this.age = age;
-
}
-
}
我目前更多的使用Swagger管理API文檔,測試接口。管理Bean個人並不常用。可以把Swagger理解為接口文檔,后台寫好的代碼可以直接生成前端接口文檔頁面,接口調用這可以通過這個頁面發送接口請求,進行接口測試或調用。對接方便。無奈的是,返回參數的接口文檔,還是要自己寫啊。
Postman插件,postman只是Chrome瀏覽器一個控件,可以嵌在Chrome中使用,也可以單獨下載軟件版。用來測試接口非常只方便。而且可以分類管理測試過的接口。分享接口
它得好處就是可以記憶測試的參數,Swagger畢竟是網頁打開,很多參數無法保存。對家數據測試造成不小困擾,另外。設計到token權限的話,swagger中可能每次都需要模擬登錄,而postman在Header中保存Token信息。給測試帶來便利,按照程序員的尿性,我推薦postman。清晰整齊,一目了然。
那么他如何與前端對接呢,寫接口文檔嗎?可以,或者你可讓你家前端自己也下載一個,你把你測試的接口整理給他。就看他願不願意用咯。
總結:后台測試,推薦使用Postman。但是最好養成寫Swagger的習慣,第一是可以給前端看,讓他們參考。更重要的是postman中的測試可能會丟失。但是寫在代碼里的Swagger永遠不會丟。