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