這裏只簡單的說一下swagger的傳值,返回值時註解的使用演示。相關注解及說明見其餘文章前端
java
例子以下:json
由於這種方式咱們用的很少,因此這裏就不展開來說後端
通常咱們前端都是傳json數據過來後端,後端接收參數是直接用JSONObject或Map因此主要講一下第二種數組
前端傳參:jsonapp
後端接收:jsonObject或Mapide
對於這種JSONObject接收參數的,咱們不能用第一種方式,此時應該用另外兩個註解來實現測試
注意:dataType屬性默認是String,若是要換成其餘,好比int屬性,不能直接寫int或Interger,必定要加上全類名,否則會被解析成string類型。ui
代碼以下:this
1 /** 2 * 測試接口 3 * 4 * @param jsonObject 前端傳過來的參數 5 * @return 無 6 */ 7 @PostMapping("/test") 8 @ApiOperation(value = "測試接口", httpMethod = "POST", notes = "測試,這是一個後端的測試接口") 9 @ApiImplicitParams({ 10 @ApiImplicitParam(value = "這是具體的參數1說明", name = "parm1", required = true, dataType = "String", 11 paramType = "query"), 12 @ApiImplicitParam(value = "參數二是string類型", name = "parm2", required = true, dataType = "String", 13 paramType = "query"), 14 @ApiImplicitParam(value = "參數三是int類型", name = "parm3", required = true, dataType = "java.lang.Integer", 15 paramType = "query"), 16 @ApiImplicitParam(value = "參數四是布爾類型", name = "parm4", required = true, dataType = "java.lang.Boolean", 17 paramType = "query"), 18 @ApiImplicitParam(value = "參數五:0表示成功,1表示失敗", name = "parm5", required = true, dataType = "String", 19 paramType = "query") 20 }) 21 public JSONObject testParm(JSONObject jsonObject) { 22 23 return null; 24 25 } 26 27 }
這樣子看,可能顯得代碼略顯臃腫,可是咱們寫代碼的時候,把它摺疊起來就行了,效果以下
接下來,看一下swagger中的具體效果圖
請求參數咱們瞭解了,接下來咱們看一下響應參數,首先全部的響應都要基於ResponseVo這個類。
1 @Data 2 @ApiModel() 3 public class ResponseVo<T> implements Serializable { 4 @ApiModelProperty(value = "默認時間") 5 private String defaultTimeZone; 6 @ApiModelProperty(value = "成功爲1,失敗爲0") 7 private Integer result; 8 @ApiModelProperty(value = "返回值信息") 9 private T data; 10 @ApiModelProperty(value = "返回給前端的語言,默認是:zh_CN") 11 private String lang; 12 @ApiModelProperty(value = "時間,默認是:Asia/Shanghai") 13 private String userTimeZone; 14 15 16 public ResponseVo(Integer result, T data) { 17 this(result, "Asia/Shanghai", "Asia/Shanghai", "zh_CN", data); 18 } 19 20 21 public ResponseVo(Integer result, String defaultTimeZone, String userTimeZone, String lang, T data) { 22 this.defaultTimeZone = defaultTimeZone; 23 this.result = result; 24 this.userTimeZone = userTimeZone; 25 this.lang = lang; 26 this.data = data; 27 } 28 29 @Override 30 public String toString() { 31 return JSONObject.toJSONString(this); 32 } 33 }
swagger效果圖
swagger調試效果圖:
ok,接下來,咱們進行一些複雜的操做,咱們嘗試模擬下面這裏複雜的類型返回
能夠看出 formFieldDataOrder是一個數組
tableData是一個對象
formFieldData是一個對象
java代碼
首先建立兩個類,而後在ResponseDataVo裏面定義三個屬性,,其中數組的用定義爲List,對象定義爲具體的類
注意:定義爲返回值的類,必定要加上@ApiModel註解
返回值設置
swagger效果:
接下來,咱們往裏面添加數據
老樣子,建立IslandId類和Name類,在FormFieldData類中設置這兩個對象屬性
設置對應的返回值
swagger效果圖
swagger調試結果圖
接下來,咱們完善一下Island裏面的屬性
定義IslandId對象裏面的屬性
設置對應的值
swagger效果圖
調試結果
到這裏,swagger註解的使用算是入門了,注意,其中仍是有不少細節要注意的,因爲時間問題,沒有一一列舉出來。歡迎你們點評指正。