一、關於swagger
1、什么是swagger?
swagger是spring fox的一套產品,可以作為后端開發者測試接口的工具,也可以作為前端取數據的接口文檔。
2、為什么使用?
相比於傳統的接口文檔書寫,開發者可以以更高的效率來進行接口測試與開發。而且使得更具可讀性。
3、怎樣配置?
引入依賴
配置代碼
二、使用教程
@Api :對rest接口類的注解
--value 對資源的標簽名
--description 描述
@ApiOperation :對方法的注解
--value 對資源的標簽名
--notes 對方法操作的描述
@ApiImplicitParams :對多個參數的描述的集合
@ApiImplicitParam:在@ApiImplicitParams里面
--name 屬性字段名
--value 屬性字段含義
--required 是否必填(true/false)
--paramType 參數位置("query"為參數放置url,"body"為post方法放在body里...)
--dataType 參數類型("String"、"int"...)
@ApiModel :對實體類的描述
@ApiModelProperty :對實體字段的描述
--name 屬性名稱
--value 屬性描述
--hidden 是否不再swagger頁面展示(true/false)
三、踩過的坑
1、swagger-ui頁面卡死
原因:返回的實體或者入參實體中字段重復嵌套,導致swagger頁面在展示model時需要大量循環計算,導致cpu占滿,瀏覽器資源耗盡導致頁面卡死。
解決方案:
方案1、注意實體中字段的數據的嵌套,隱藏改字段或者修改實體,避免嵌套。
方案2、不用swagger,用其他接口測試工具(0_0)
2、POST請求時,Data Type未顯示字段注釋
解決方案:
給請求實體加上@RequestBody注解