springboot swagger2註解使用

swagger2 註解總體說明

  最近在使用Swagger的時候忘記了註解的用法,特此記錄一下。
@Api:用在請求的類上,表示對類的說明
      tags="說明該類的做用,能夠在UI界面上看到的註解"
      value="該參數沒什麼意義,在UI界面上也看到,因此不須要配置"
  
  @ApiOperation:用在請求的方法上,說明方法的用途、做用
      value="說明方法的用途、做用"
      notes="方法的備註說明"
  
  @ApiImplicitParams:用在請求的方法上,表示一組參數說明
     @ApiImplicitParam:用在@ApiImplicitParams註解中,指定一個請求參數的各個方面
         name:參數名
         value:參數的漢字說明、解釋
         required:參數是否必須傳
         paramType:參數放在哪一個地方
             · header --> 請求參數的獲取:@RequestHeader
             · query --> 請求參數的獲取:@RequestParam
             · path(用於restful接口)--> 請求參數的獲取:@PathVariable
             · body(不經常使用)
             · form(不經常使用)    
         dataType:參數類型,默認String,其它值dataType="Integer"       
         defaultValue:參數的默認值
 
  @ApiResponses:用在請求的方法上,表示一組響應
     @ApiResponse:用在@ApiResponses中,通常用於表達一個錯誤的響應信息
         code:數字,例如400
         message:信息,例如"請求參數沒填好"
         response:拋出異常的類
 
  @ApiModel:用於響應類上,表示一個返回響應數據的信息
             (這種通常用在post建立的時候,使用@RequestBody這樣的場景,
             請求參數沒法使用@ApiImplicitParam註解進行描述的時候)
     @ApiModelProperty:用在屬性上,描述響應類的屬性

1. @Api:用在請求的類上,說明該類的做用

@Api:用在請求的類上,說明該類的做用
     tags="說明該類的做用"
     value="該參數沒什麼意義,因此不須要配置"
  示例:
@Api(tags="APP用戶註冊Controller")

2. @ApiOperation:用在請求的方法上,說明方法的做用

@ApiOperation:"用在請求的方法上,說明方法的做用"
     value="說明方法的做用"
     notes="方法的備註說明"
  示例:
@ApiOperation(value="用戶註冊",notes="手機號、密碼都是必輸項,年齡隨邊填,但必須是數字")

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

@ApiImplicitParams:用在請求的方法上,包含一組參數說明
      @ApiImplicitParam:用在 @ApiImplicitParams 註解中,指定一個請求參數的配置信息       
          name:參數名
          value:參數的漢字說明、解釋
          required:參數是否必須傳
          paramType:參數放在哪一個地方
              · header --> 請求參數的獲取:@RequestHeader
              · query --> 請求參數的獲取:@RequestParam
              · path(用於restful接口)--> 請求參數的獲取:@PathVariable
              · body(不經常使用)
              · form(不經常使用)    
          dataType:參數類型,默認String,其它值dataType="Integer"       
          defaultValue:參數的默認值
  示例:
@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")
})

4. @ApiResponses:用於請求的方法上,表示一組響應

@ApiResponses:用於請求的方法上,表示一組響應
     @ApiResponse:用在@ApiResponses中,通常用於表達一個錯誤的響應信息
         code:數字,例如400
         message:信息,例如"請求參數沒填好"
         response:拋出異常的類
示例:
@ApiOperation(value = "select1請求",notes = "多個參數,多種的查詢參數類型")
 @ApiResponses({
     @ApiResponse(code=400,message="請求參數沒填好"),
     @ApiResponse(code=404,message="請求路徑沒有或頁面跳轉路徑不對")
 })

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

@ApiModel:用於響應類上,表示一個返回響應數據的信息
             (這種通常用在post建立的時候,使用@RequestBody這樣的場景,
             請求參數沒法使用@ApiImplicitParam註解進行描述的時候)
     @ApiModelProperty:用在屬性上,描述響應類的屬性
  示例:
import io.swagger.annotations.ApiModel;
  import io.swagger.annotations.ApiModelProperty;
  
  import java.io.Serializable;
  
  @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 */
  }
相關文章
相關標籤/搜索