【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别
生活随笔
收集整理的這篇文章主要介紹了
【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.@ApiParam,就是用于swagger提供開發(fā)者文檔,文檔中生成的注釋內(nèi)容。
@ApiOperation( value = "編輯公告", notes = "編輯公告", httpMethod = "POST" )@RequestMapping( value = "/edit", method = RequestMethod.POST )public RequestResult edit(@ApiParam(name = "title", value = "公告標題", required = true) @RequestParam("title") String title,@ApiParam(name = "content", value = "公告內(nèi)容", required = true) @RequestParam("content") String content){?
2.@RequestParam,是獲取前端傳遞給后端的參數(shù),可以是get方式,也可以是post方式。
其中如果前端傳遞的參數(shù)和后端你接受的參數(shù)起的名字字段是一致的可以省略不寫,所以@RequestParam("title") String title 也可以直接寫@RequestParam String title。
如果不一致一定要完整寫,不然獲取不到,如下面的bis_key就必須寫。
@ApiOperation( value = "編輯公告", notes = "編輯公告", httpMethod = "POST" )@RequestMapping( value = "/edit", method = RequestMethod.POST )public RequestResult edit(@ApiParam(name = "bis_key", value = "bis_key", required = true)@RequestParam("bis_key") String bisKey,@ApiParam(name = "title", value = "公告標題", required = true) @RequestParam String title,@ApiParam(name = "content", value = "公告內(nèi)容", required = true) String content,?
3.@PathVariable,是獲取get方式,url后面參數(shù),進行參數(shù)綁定
@ApiOperation(value = "刪除公告", notes = "刪除公告", httpMethod = "POST")@RequestMapping(value = "/delete/{bisKey}", method = RequestMethod.POST)public RequestResult remove(@ApiParam(name = "bisKey", value = "需要刪除的公告ids", required = true) @PathVariable String bisKey) {對于Restful風格
@PatchMapping("api/v1/staff/{id}")@ApiOperation(value = "修改staff")@ApiImplicitParams(ApiImplicitParam(name = TokenService.TOKEN_HEADER, defaultValue = TokenService.TOKEN_STARTS, value = "access_token", dataType = "string", paramType = "header"))@Transactionalfun patch(@RequestHeader(name = TokenService.TOKEN_HEADER, required = true)token: String,@PathVariable("id") id: Long,@RequestBody request: CreateStaffRequest): GenericResponse<StaffData> {val user = this.user(token).uservar staff = this.staffService.findStaff(id)staff = this.staffService.updateStaff(staff = staff,realname = request.realname,mobile = request.mobile,idCard = request.idCard,gender = request.gender,password = request.password,subCompanyId = request.subCompanyId,departmentId = request.departmentId,roleIdSet = if (request.roleIdSet.count() <= 0) throw BadRequestException("roleIdSet大小不能為0") else request.roleIdSet,enabled = request.enabled,updater = user)return GenericResponse(items = StaffData(staff))}@DeleteMapping("api/v1/staff/{id}")@ApiOperation(value = "刪除staff")@ApiImplicitParams(ApiImplicitParam(name = TokenService.TOKEN_HEADER, defaultValue = TokenService.TOKEN_STARTS, value = "access_token", dataType = "string", paramType = "header"))@Transactionalfun delete(@RequestHeader(name = TokenService.TOKEN_HEADER, required = true)token: String,@PathVariable("id") id: Long): GenericResponse<StaffData> {val user = this.user(token).uservar staff = this.staffService.findStaff(id)staff = this.staffService.deleteStaff(staff = staff,operator = user)return GenericResponse(items = StaffData(staff))}@PutMapping("api/v1/staff/{id}")@ApiOperation(value = "恢復(fù)被刪除的staff操作")@ApiImplicitParams(ApiImplicitParam(name = TokenService.TOKEN_HEADER, defaultValue = TokenService.TOKEN_STARTS, value = "access_token", dataType = "string", paramType = "header"))@Transactionalfun restore(@RequestHeader(name = TokenService.TOKEN_HEADER, required = true)token: String,@PathVariable("id") id: Long): GenericResponse<StaffData> {val user = this.user(token).uservar staff = this.staffService.findStaff(id)staff = this.staffService.restoreStaff(staff, user)return GenericResponse(items = StaffData(staff))}?
總結(jié)
以上是生活随笔為你收集整理的【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ELK 分析 nginx access
- 下一篇: Orange Business Serv