Swagger2常用註解及其說明
阿新 • • 發佈:2018-12-26
Api
用在Controller中,標記一個Controller作為swagger的文件資源
屬性名稱 | 說明 |
---|---|
value | Controller的註解 |
description | 對api資源的描述 |
hidden | 配置為true 將在文件中隱藏 |
使用方法:
@Api(value = "登入服務",description = "使用者登入相關介面")
@RestController("loginControllerLayui")
@RequestMapping("/login")
public class LoginController {
}
ApiOperation
該註解用在Controller的方法中,用於註解介面
屬性名稱 | 說明 |
---|---|
value | 介面的名稱 |
notes | 介面的註釋 |
response | 介面的返回型別,比如說:response = String.class |
hidden | 配置為true 將在文件中隱藏 |
使用方法:
@ApiOperation(value = "獲取驗證碼圖片",notes = "每呼叫一次,就會隨機生成一張驗證碼圖片",response = String.class)
@GetMapping ("/verifyCode.img")
public String getVerifyCode(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
}
ApiParam
該註解用在方法的引數中。
屬性名稱 | 說明 |
---|---|
name | 引數名稱 |
value | 引數值 |
required | 是否必須,預設false |
defaultValue | 引數預設值 |
type | 引數型別 |
hidden | 隱藏該引數 |
使用方法:
@ApiOperation(value = "新增許可權",notes = "插入許可權",response = JsonData.class)
@PostMapping("/insertAcl.json")
public JsonData insertAcl(@ApiParam(name = "param",value = "實體類AclParam",required = true) AclParam param){
}
ApiResponses/ApiResponse
該註解用在Controller的方法中,用於註解方法的返回狀態。
屬性名稱 | 說明 |
---|---|
code | http的狀態碼 |
message | 狀態的描述資訊 |
response | 狀態相應,預設響應類 Void |
使用方法:
@ApiOperation(value = "選單",notes = "進入選單介面",nickname = "選單介面")
@ApiResponses({
@ApiResponse(code = 200,message = "成功!"),
@ApiResponse(code = 401,message = "未授權!"),
@ApiResponse(code = 404,message = "頁面未找到!"),
@ApiResponse(code = 403,message = "出錯了!")
})
@GetMapping("/aclModule.page")
public ModelAndView aclModule(Model model){
}
ApiModel
該註解用在實體類中。
屬性名稱 | 說明 |
---|---|
value | 實體類名稱 |
description | 實體類描述 |
parent | 整合的父類,預設為Void.class |
subTypes | 子類,預設為{} |
reference | 依賴,預設為“” |
使用方法:
@ApiModel(value = "JsonData",description = "返回的資料型別")
public class JsonData {
}
ApiModelProperty
該註解用在實體類的欄位中。
屬性名稱 | 說明 |
---|---|
name | 屬性名稱 |
value | 屬性值 |
notes | 屬性註釋 |
dataType | 資料型別,預設為“” |
required | 是否必須,預設為false |
hidden | 是否隱藏該欄位,預設為false |
readOnly | 是否只讀,預設false |
reference | 依賴,,預設“” |
allowEmptyValue | 是否允許空值,預設為false |
allowableValues | 允許值,預設為“” |
使用方法:
//返回狀態資訊
@ApiModelProperty(name = "code",value = "狀態code",notes = "返回資訊的狀態")
private int code;
//返回攜帶的資訊內容
@ApiModelProperty(name = "msg",value = "狀態資訊",notes = "返回資訊的內容")
private String msg = "";
//返回資訊的總條數
@ApiModelProperty(name = "count",value = "查詢數量",notes = "返回資訊的條數")
private int count;
//返回物件
@ApiModelProperty(name = "data",value = "查詢資料",notes = "返回資料的內容")
private Object data;
ApiImplicitParams/ApiImplicitParam
該註解用在Controller的方法中,同ApiParam的作用相同,但是比較建議使用ApiParam。
屬性名稱 | 說明 |
---|---|
name | 引數名稱 |
value | 引數值 |
defaultValue | 引數預設值 |
required | 是否必須 |
allowMultiple | 是否允許重複 |
dataType | 資料型別 |
paramType | 引數型別 |
使用方法:
@ApiOperation(value = "建立使用者",notes = "根據User物件建立使用者")
@ApiImplicitParam(name = "user",value = "使用者詳細實體user")
@RequestMapping(value="/", method=RequestMethod.POST)
public String postUser(@ModelAttribute User user){
}