swagger2 注解說明


整體說明

用於controller類上

注解

說明

@Api

協議集描述

方法上

注解

說明

@ApiOperation

-

@ApiImplicitParams

方法上

@ApiImplicitParam

用在@ApiImplicitParams的方法里邊

@ApiResponses

方法上

@ApiResponse

用在 @ApiResponses里邊

返回對象類

注解

說明

@ApiModel

用在返回對象類上

@ApiModelProperty

用在出入參數對象的字段上

@Api

  @Api:放在 請求的類上,與@Controller並列,說明的請求類的用下,如用戶登錄類,訂單類等。 tags="說明該類的作用" value="該參數沒什么意義,所以不需要配置"

  @Api:放在 請求的類上,與@Controller並列,說明的請求類的用下,如用戶登錄類,訂單類等。

  tags="說明該類的作用"

  value="該參數沒什么意義,所以不需要配置"

 

示例:


@Api(tags="APP登錄授權")

@Controller

public class ApiLoginController {

}

 

  @Api屬性配置:

  與Controller注解並列使用。

屬性名稱

備注

value

url的路徑值

tags

如果設置這個值、value的值會被覆蓋

description

對api資源的描述

basePath

基本路徑

position

如果配置多個Api 想改變顯示的順序位置

produces

如, “application/json, application/xml”

consumes

如, “application/json, application/xml”

protocols

協議類型,如: http, https, ws, wss.

authorizations

高級特性認證時配置

hidden

配置為true ,將在文檔中隱藏

@ApiOperation

  @ApiOperation:"用在請求的方法上,說明方法的作用" value="說明方法的作用" notes="方法的備注說明"

  @ApiOperation:"用在請求的方法上,說明方法的作用" value="說明方法的作用" notes="方法的備注說明"

 

@ApiImplicitParams、@ApiImplicitParam

  @ApiImplicitParams:用在請求的方法上,包含一組參數說明

  @ApiImplicitParam:對單個參數的說明 name:參數名 value:參數的漢字說明、解釋 required:參數是否必須傳 paramType:參數放在哪個地方 · header --> 請求參數的獲取:@RequestHeader · query --> 請求參數的獲取:

  @RequestParam · path(用於restful接口)--> 請求參數的獲取:

  @PathVariable · body(請求體)-->@RequestBody User user · form(不常用)dataType:參數類型,默認String,其它值dataType="Integer" defaultValue:參數的默認值

@ApiImplicitParams:用在請求的方法上,包含一組參數說明

@ApiImplicitParam:對單個參數的說明

name:參數名

value:參數的漢字說明、解釋

required:參數是否必須傳

paramType:參數放在哪個地方

· header --> 請求參數的獲取:@RequestHeader

· query --> 請求參數的獲取:@RequestParam

· path(用於restful接口)--> 請求參數的獲取:@PathVariable

· body(請求體)--> @RequestBody User user

· form(不常用)

dataType:參數類型,默認String,其它值dataType="Integer"

defaultValue:參數的默認值

 

示列:

@ApiOperation(value="用戶登錄",notes="手機號、密碼都是必輸項,年齡隨邊填,但必須是數字")

@ApiImplicitParams({

@ApiImplicitParam(name="mobile",value="手機號",required=true,paramType="form"),

@ApiImplicitParam(name="password",value="密碼",required=true,paramType="form"),

@ApiImplicitParam(name="age",value="年齡",required=true,paramType="form",dataType="Integer")

})

@PostMapping("/login")

public JsonResult login(@RequestParam String mobile, @RequestParam String password,

@RequestParam Integer age){

...

return JsonResult.ok(map);

}

 

@ApiResponses、@ApiResponse

  @ApiResponses:方法返回對象的說明

  @ApiResponse:每個參數的說明 code:數字,例如400 message:信息,例如"請求參數沒填好" response:拋出異常的類

  @ApiResponses:方法返回對象的說明 @ApiResponse:每個參數的說明 code:數字,例如400 message:信息,例如"請求參數沒填好" response:拋出異常的類

 

示例:

@ApiOperation("獲取用戶信息")

@ApiImplicitParams({

@ApiImplicitParam(paramType = "query", name = "userId", dataType = "String", required = true, value = "用戶Id")

})

@ApiResponses({

@ApiResponse(code = 400, message = "請求參數沒填好"),

@ApiResponse(code = 404, message = "請求路徑沒有或頁面跳轉路徑不對")

})

@ResponseBody

@RequestMapping("/list")

public JsonResult list(@RequestParam String userId) {

...

return JsonResult.ok().put("page", pageUtil);

}

 

@ApiModel、@ApiModelProperty

  @ApiModel:用於響應類上,表示一個返回響應數據的信息 (這種一般用在post創建的時候,使用@RequestBody這樣的場景, 請求參數無法使用 @ApiImplicitParam 注解進行描述的時候) @ApiModelProperty:用在屬性上,描述響應類的屬性

  @ApiModel:用於響應類上,表示一個返回響應數據的信息

  (這種一般用在post創建的時候,使用@RequestBody這樣的場景,

  請求參數無法使用 @ApiImplicitParam 注解進行描述的時候)

  @ApiModelProperty:用在屬性上,描述響應類的屬性

 

示例:

@ApiModel(description= "返回響應數據")

public class RestMessage implements Serializable{

 

@ApiModelProperty(value = "是否成功")

private boolean success=true;

@ApiModelProperty(value = "返回對象")

private Object data;

@ApiModelProperty(value = "錯誤編號")

private Integer errCode;

@ApiModelProperty(value = "錯誤信息")

private String message;

/* getter/setter */

}

 

http://localhost:8080/swagger-ui.html

轉載自:https://blog.csdn.net/xiaojin21cen/article/details/78654652


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM