首页 > 其他分享 >@GetMapping、@PostMapping、@PutMapping、@DeleteMapping 的区别?

@GetMapping、@PostMapping、@PutMapping、@DeleteMapping 的区别?

时间:2023-10-09 23:55:51浏览次数:32  
标签:请求 GET DeleteMapping PostMapping PutMapping GetMapping

对于@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

相关文章

  • 基本注解详解@RequestMapping,@GetMapping
    基本注解详解@RequestMapping,@GetMapping1.@RequestMapping注解@RequestMapping注解是一个用来处理请求地址映射的注解,可用于映射一个请求或一个方法,可以用在类或方法......
  • @PostMapping和@GetMapping用法详解
    publicclassApplyObject{privateStringid;privateStringname;}1、使用post方法调用前端传递参数如果是一个object的话,如{id:'1',name:'2222'}后......