ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别

2022-07-20 18:03:43  阅读:144  来源: 互联网

标签:PathVariable RequestParam spring value name String user id staff


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)
        )
    }

标签:PathVariable,RequestParam,spring,value,name,String,user,id,staff
来源: https://www.cnblogs.com/telwanggs/p/16498980.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有