1. 程式人生 > >swagger2 常用註解的使用

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/