swagger2 常用註解的使用
一、@Api
效果:
@Api註解放在類上面,這裡的value是沒用的,tags表示該controller的介紹。
二 、@ApiOperation
效果:
@ApiOperation註解用於放在方法上面,其中value是該類的簡短的敘述,notes一般是該方法的詳細描述。
三、@ApiImplicitParam 與 @ApiImplicitParams
@ApiImplicitParam註解用於表明前端傳入的name引數的名字,required是否為必需項,以及dataType引數型別,以及paramType傳遞方式(query表示使用url問號的方式傳參,這種比較常用,如果使用formData的方式進行傳參,那麼paramType的值為 form).
當有多個引數時,需要用@ApiImplicitParams將@ApiImplicitParam包起來
四、如果傳遞的是pojo型別的引數
在ui.html中
這裡的Data Type為 Model,此時我們可以在實體類的程式碼中添加註解,選擇我們需要在這裡顯示的屬性。如下:
@ApiModelProperty(hidden = true)表示不需要在swagger頁面進行展示,required表示該屬性為必需的屬性。
結果如下:
五、如果上傳的是媒體檔案型別
==========================================================================
寫在最後,在使用swagger的時候可能會遇到的bug,當前後端的傳遞引數的名稱對應上之後,後臺仍然無法接收到引數,這可能是因為我們沒有加上request相關的說明,如@requestParam @requestBody required=true 等。這樣會導致 從swagger.ui.html中傳遞過來的引數後臺無法接收到。但是在正常的開發過程中我們是即使不寫這幾個request相關的註解,只要屬性的名字可能對應上,那麼後臺也是可能正常接受到引數的。這也許是swagger2中隱藏的一個bug。
============================================================================
更多swagger2的使用 請參考 https://blog.xiaomo.info/2016/JavaSpringBootSwaggerUi/