1. 程式人生 > >swagger 註解

swagger 註解

API詳細說明
註釋彙總

作用範圍    API    使用位置
物件屬性    @ApiModelProperty    用在出入引數物件的欄位上
協議集描述    @Api    用於controller類上
協議描述    @ApiOperation    用在controller的方法上
Response集    @ApiResponses    用在controller的方法上
Response    @ApiResponse    用在 @ApiResponses裡邊
非物件引數集    @ApiImplicitParams    用在controller的方法上
非物件引數描述    @ApiImplicitParam    用在@ApiImplicitParams的方法裡邊
描述返回物件的意義    @ApiModel    用在返回物件類上


@RequestMapping此註解的推薦配置 
value 
method 
produces

    @ApiOperation("資訊軟刪除")
    @ApiResponses({ @ApiResponse(code = CommonStatus.OK, message = "操作成功"),
            @ApiResponse(code = CommonStatus.EXCEPTION, message = "伺服器內部異常"),
            @ApiResponse(code = CommonStatus.FORBIDDEN, message = "許可權不足") })
    @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Long", name = "id", value = "資訊id", required = true) })
    @RequestMapping(value = "/remove.json", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public RestfulProtocol remove(Long id) {
    @ApiModelProperty(value = "標題")
    private String  title;

@ApiImplicitParam
屬性    取值    作用
paramType        查詢引數型別
path    以地址的形式提交資料
query    直接跟引數完成自動對映賦值
body    以流的形式提交 僅支援POST
header    引數在request headers 裡邊提交
form    以form表單的形式提交 僅支援POST
dataType        引數的資料型別 只作為標誌說明,並沒有實際驗證
Long    
String    
name        接收引數名
value        接收引數的意義描述
required        引數是否必填
true    必填
false    非必填
defaultValue        預設值

paramType 示例詳解
path
 @RequestMapping(value = "/findById1/{id}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)

 @PathVariable(name = "id") Long id
body
  @ApiImplicitParams({ @ApiImplicitParam(paramType = "body", dataType = "MessageParam", name = "param", value = "資訊引數", required = true) })
  @RequestMapping(value = "/findById3", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)

  @RequestBody MessageParam param

  提交的引數是這個物件的一個json,然後會自動解析到對應的欄位上去,也可以通過流的形式接收當前的請求資料,但是這個和上面的接收方式僅能使用一個(用@RequestBody之後流就會關閉了)
header
  @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "Long", name = "id", value = "資訊id", required = true) }) 

   String idstr = request.getHeader("id");
        if (StringUtils.isNumeric(idstr)) {
            id = Long.parseLong(idstr);
        }
Form
@ApiImplicitParams({ @ApiImplicitParam(paramType = "form", dataType = "Long", name = "id", value = "資訊id", required = true) })
 @RequestMapping(value = "/findById5", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)

 


原文:https://blog.csdn.net/xupeng874395012/article/details/68946676