对于@GetMapping、@PostMapping、@PutMapping、@DeleteMapping,首先我们得谈到RESTFUL风格接口,常用的URL请求方式就包括了GET、POST、PUT、DELETE等:
谈到@GetMapping、@PostMapping、@PutMapping、@DeleteMapping等注解,首先得讲到@RequestMaping:
@RequestMaping主要是将HTTP请求映射到控制器方法上,用于接收HTTP请求。@GetMapping其实写法就是@RequestMapping(method = RequestMethod.GET)
1、GET请求对应的@GetMapping:
通常情况下在于接收GET请求,GET请求主要是用来获取数据的,类似于数据库中的select,不进行数据的修改等只包含数据查询。@GetMapping具有幂等性。
2、POST请求对应的@PostMapping:
通常情况下在于接收POST请求,POST请求主要用来提交请求数据的,类似于数据库中的insert。通常用来提交表单数据,需要考虑接口幂等性问题。
3、PUT请求对应的@PutMapping:
通常情况下在于接收PUT请求,PUT请求也是向服务器发送数据,类似于数据库中的update操作。通常用来修改数据,@PutMapping本身就具有幂等性。
4、DELETE请求对应的@DeleteMapping:
通常情况下在于接收DELETE请求,DELETE请求主要用来删除数据,类似于数据库中的delete操作。@DeleteMapping也具有幂等性。
代码示例:
@PostMapping(value = "/add")
public void add(@RequestBody User user) {
userService.add(user);
}
@DeleteMapping(value = "/delete/{id}")
public void delete(@PathVariable String id) {
userService.delete(id);
}
@PutMapping(value = "/update")
public void update(@RequestBody User user) {
userService.update(user);
}
@GetMapping(value = "/get")
public User get(@RequestParam String name) {
return userService.getByName(name);
}
有的人建议后端接口全都使用Post请求这是为啥?
标签:请求,GET,DeleteMapping,PostMapping,PutMapping,GetMapping From: https://www.cnblogs.com/great-r/p/17753392.html