swagger + springboot

參考文章:  https://blog.csdn.net/xupeng874395012/article/details/68946676/json

https://blog.csdn.net/hry2015/article/details/72353994/api

Api

  用在Controller中,標記一個Controller做爲swagger的文檔資源app

屬性名稱 說明

valuepost

Controller的註解
description 對api資源的描述
hidden 配置爲true 將在文檔中隱藏

 

 

 

 

使用方法:ui

1 @Api(value = "登陸服務",description = "用戶登陸相關接口")
2 @RestController("loginControllerLayui")
3 @RequestMapping("/login")
4 public class LoginController {
5 }

ApiOperation

  該註解用在Controller的方法中,用於註解接口spa

屬性名稱 說明
value 接口的名稱
notes 接口的註釋
response 接口的返回類型,好比說:response = String.class
hidden 配置爲true 將在文檔中隱藏

 

 

 

 

使用方法:.net

@ApiOperation(value = "獲取驗證碼圖片",notes = "每調用一次,就會隨機生成一張驗證碼圖片",response = String.class)
    @GetMapping("/verifyCode.img")
    public String getVerifyCode(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
    }

ApiParam

  該註解用在方法的參數中。code

屬性名稱 說明
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的方法中,用於註解方法的返回狀態。blog

屬性名稱 說明
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 {
}

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){
    }

 

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;
相關文章
相關標籤/搜索