1、引入依賴
<dependency> <groupId>io.ifa.chaos.starters</groupId> <artifactId>chaos-starter-swagger</artifactId> <version>1.0</version> </dependency>
2、在bootstrap.yaml配置文件中添加配置信息
swagger: title: 標題 description: 描述 scan-packages: 掃描的包,例com.yang.xxx
3、在對應的controller上添加@Api的註解
例如@Api("測試")
4、在對應controller的方法上添加@ApiOperation註解
5、進入swagger-ui測試
在瀏覽器輸入http://127.0.0.1:8080/swagger-ui.html即可
這個ip+端口號是服務啓動的地址和端口號。
6、swagger-ui註解說明:
@Api
標識這個類是 swagger 的資源,用於 controller 類上,對請求類的說明
@ApiOperation(value = "查詢數據", notes = "查詢類型爲 type,code 編碼的下一級的數據", httpMethod = "GET")
用於方法上
--value:接口描述
--notes:提示內容
--tags:分組(視情況而用)
--httpMethod:接口請求方式
@ApiImplicitParams
包含多個 @ApiImplicitParam,用於方法上
@ApiImplicitParam
表示單獨的請求參數,用於方法上
--name:參數名稱
--value:參數說明
--paramType:參數類型
可選值:
--header:請求參數的獲取:@RequestHeader(代碼中接收註解)
--query:請求參數的獲取:@RequestParam(代碼中接收註解)
--path:用於restful接口)-->請求參數的獲取:@PathVariable(代碼中接收註解)
--body:請求參數的獲取:@RequestBody(代碼中接收註解)
--form:(不常用)
--required:是否必傳
--true
--false
--dataType:數據類型
@ApiModel
用在JavaBean類上,說明JavaBean的 用途(這種一般用在 post 創建的時候,使用 @RequestBody 這樣的場景, 請求參數無法使用 @ApiImplicitParam 註解進行描述的時候 )
--value:model的別名,默認爲類名
--description:model的詳細描述
@ApiModelProperty
對model屬性的註解
--value:屬性簡短描述
--name:屬性名
--dataType:屬性類型
--example:屬性的示例值
--required:是否爲必須值
@ApiParam
增加對參數的元信息說明。這個註解只能被使用在JAX-RS 1.x/2.x的綜合環境下
--name:參數名
--value:參數簡短說明
--required:是否必須
@ApiResponses
註解@ApiResponse的包裝類,數組結構。即使需要使用一個@ApiResponse註解,也需要將@ApiResponse註解包含在註解@ApiResponses內。
@ApiResponse
描述一個操作可能的返回結果。當REST API請求發生時,這個註解可用於描述所有可能的成功與錯誤碼。可以用,也可以不用這個註解去描述操作的返回類型,但成功操作的返回類型必須在@ApiOperation中定義。
如果API具有不同的返回類型,那麼需要分別定義返回值,並將返回類型進行關聯。但Swagger不支持同一返回碼,多種返回類型的註解。注意:這個註解必須被包含在@ApiResponses註解中。
--code:HTTP請求返回碼。有效值必須符合標準的HTTP Status Code Definitions。
--message:更加易於理解的文本消息
--response:返回類型信息
--responseContainer:如果返回類型爲容器類型,可以設置相應的值。有效值爲 "List", "Set" or "Map",其他任何無效的值都會被忽略
其他註解:
@ApiIgnore
用於於類或者方法上,可以不被 swagger 顯示在頁面上