轉載自https://my.oschina.net/lyaohe/blog/1503254java
代碼例子:restful
@ApiOperation(value="獲取用戶詳細信息", notes="根據url的id來獲取用戶詳細信息") @ApiImplicitParam(paramType="path", name = "id", value = "用戶ID", required = true, dataType = "Long") @RequestMapping(value="/{id}", method=RequestMethod.GET) public User getUser(@PathVariable Long id) { return users.get(id); }
網上好多例子都沒有paramType這個參數,致使獲取不到URL的參數,特地記錄一下app
詳細的註解說明post
- @Api:用在類上,說明該類的做用
- @ApiOperation:用在方法上,說明方法的做用
- @ApiImplicitParams:用在方法上包含一組參數說明
- @ApiImplicitParam:用在@ApiImplicitParams註解中,指定一個請求參數的各個方面
- paramType:參數放在哪一個地方
- header-->請求參數的獲取:@RequestHeader
- query-->請求參數的獲取:@RequestParam
- path(用於restful接口)-->請求參數的獲取:@PathVariable
- body(不經常使用)
- form(不經常使用)
- name:參數名
- dataType:參數類型
- required:參數是否必須傳
- value:參數的意思
- defaultValue:參數的默認值
- paramType:參數放在哪一個地方
- @ApiResponses:用於表示一組響應
- @ApiResponse:用在@ApiResponses中,通常用於表達一個錯誤的響應信息
- code:數字,例如400
- message:信息,例如"請求參數沒填好"
- response:拋出異常的類
- @ApiModel:描述一個Model的信息(這種通常用在post建立的時候,使用@RequestBody這樣的場景,請求參數沒法使用@ApiImplicitParam註解進行描述的時候)
- @ApiModelProperty:描述一個model的屬性
@ApiOperation(value="添加博客", notes="新增博客") @ApiImplicitParams({ @ApiImplicitParam(name = "mess", value = "博客內容", required = true, paramType = "query", dataType = "String") }) @RequestMapping(value = "/addblog", method = RequestMethod.POST) public Result addBlog(@RequestBody Blog blog, @RequestParam(name = "mess", required = true)String mess, HttpServletRequest request){ Integer userId = (Integer) request.getSession().getAttribute("userId"); userId = 12; Integer effecNum = blogService.addBlog(blog, mess, userId); if(effecNum > 0) return new Result(ResultEnums.SUCCESS); return new Result(ResultEnums.PARAM_IS_INVAILD); }