1.@ApiParam,就是用於swagger提供開發者文檔,文檔中生成的注釋內容。
@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 = "公告內容", required = true) @RequestParam("content") String content){
2.@RequestParam,是獲取前端傳遞給后端的參數,可以是get方式,也可以是post方式。
其中如果前端傳遞的參數和后端你接受的參數起的名字字段是一致的可以省略不寫,所以@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 = "公告內容", required = true) String content,
3.@PathVariable,是獲取get方式,url后面參數,進行參數綁定
@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") ) @Transactional fun patch( @RequestHeader(name = TokenService.TOKEN_HEADER, required = true) token: String, @PathVariable("id") id: Long, @RequestBody request: CreateStaffRequest ): GenericResponse<StaffData> { val user = this.user(token).user var 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") ) @Transactional fun delete( @RequestHeader(name = TokenService.TOKEN_HEADER, required = true) token: String, @PathVariable("id") id: Long ): GenericResponse<StaffData> { val user = this.user(token).user var 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 = "恢復被刪除的staff操作") @ApiImplicitParams( ApiImplicitParam(name = TokenService.TOKEN_HEADER, defaultValue = TokenService.TOKEN_STARTS, value = "access_token", dataType = "string", paramType = "header") ) @Transactional fun restore( @RequestHeader(name = TokenService.TOKEN_HEADER, required = true) token: String, @PathVariable("id") id: Long ): GenericResponse<StaffData> { val user = this.user(token).user var staff = this.staffService.findStaff(id) staff = this.staffService.restoreStaff(staff, user) return GenericResponse( items = StaffData(staff) ) }