Java后端避坑——方法参数绑定的@RequestBody和@PathVariable注解

在项目的增加、删除、查询、修改等操作中,都要用到PUT、DELETE、GET和POST这四个请求。在这些方法的参数上通常我们需要绑定@RequestBody和@PathVariable这两个注解,来实现对应的请求。

@RequestBody 注解作用在形参列表上,用于将前台发送过来固定格式的数据xml或json封装到对应的JavaBean对象,封装时使用到的一个对象是系统默认配置的HttpMessageConventer进行解析,然后封装到形参上

因为PUT请求和POST请求有请求体,比如我们进行添加或更新操作的时候,在操作的对象上加上@RequestBody获取前端的xml或json数据。

示例程序如下:
@PostMapping("/")
public RespBean addJobLevel(@RequestBody JObLevel jObLevel){
   if (jobLevelService.addJobLevel(jObLevel)==1){
         return RespBean.ok("添加成功!");
        }
        return RespBean.error("添加失败!");
}
@PutMapping("/")
public RespBean updateJobLevelById(@RequestBody JObLevel jObLevel){
   if (jobLevelService.updateJobLevelById(jObLevel)==1){
         return RespBean.ok("更新成功");
        }
       return RespBean.error("更新失败");
}
复制代码

@PathVariable 注解用于绑定它传过来的值到方法的参数上,用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出URI模板中的变量作为参数

例如DELETE请求中的路径中只有一个条件,那么我们可以使用@PathVariable ,如果有多个条件的话,就使用key/value的方法来处理模板变量。

示例程序如下:
@DeleteMapping("/{id}")
public RespBean deleteJobLevelById(@PathVariable Integer id){
   if (jobLevelService.deleteJobLeveById(id)==1){
         return RespBean.ok("删除成功!");
        }
        return RespBean.error("删除失败!");
}
复制代码

积少成多,滴水穿石!

转载于:https://juejin.im/post/5cbf11bd6fb9a0320c5ab128

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值