在项目的增加、删除、查询、修改等操作中,都要用到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("删除失败!");}复制代码
积少成多,滴水穿石!