zoukankan      html  css  js  c++  java
  • 【spring boot】注解@ApiParam @PathVariable @RequestParam三者区别

    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)
            )
        }
  • 相关阅读:
    网络编程学习小结
    我的学习笔记_Windows_HOOK编程 2009-12-03 11:19
    void及void指针含义的深刻解析
    Android开发之自己定义TabHost文字及背景(源码分享)
    ActionBar自己定义改动无效解决方法
    一位Erlang程序猿的自白
    Xcode 5.1安装插件:规范凝视生成器VVDocumenter
    Socket程序中的Error#10054错误
    CSDN博客清理缓存
    ACM 位运算
  • 原文地址:https://www.cnblogs.com/sxdcgaq8080/p/8672741.html
Copyright © 2011-2022 走看看