@GetMapping、@PostMapping和@RequestMapping的区别

含义上的区别

@RequestMapping是加在类上面的,所以@RequestMapping是具有类属性的,可以进行GET,POST,PUT或者其他的注解中具有的请求方法

@GetMapping注解相当于标注该请求方法精确到了Get请求方法。@GetMapping是@RequestMapping方法附加了get请求方法。@GetMapping是@RequestMapping的一个延伸,目的是为了提高项目的清晰度

@PostMapping是@RequestMapping方法附加了post请求方法。和@RequestMapping的区别与上同理。

使用场景上的区别

  1. 在前端method特指了get或post的时候分别使用@GetMapping和@PostMapping。
# 示例
<form action="testGetMapping" method="get">这里使用@GetMapping<form/>
<form action="testPostMapping" method="post">这里使用@PostMapping<form/>
  1. 如果传的参数是@RequestBody,多参或者传对象的情况下使用@PostMappping注解。
@PostMapping("/getOrderList")
public List<Object> getList(@RequestBody List<Object> orderList) {}

补充回顾:@RequestBody是获取请求body中的数据,常用于搭配@PostMapping请求来提交对象数据。参考链接SpringBoot中常用注解

  1. 无参,@RequestParam和@PathVariable情况下使用@GetMapping

@RequestParam是用在方法的参数前面,获取请求中表单类型的key=value格式的数据。

@GetMapping("/test")
public ModelAndView test(@RequestParam("id")Long id){}

@PathVariable是路径变量,参数与大括号里的名字一样要相同。

@GetMapping("/test/{id}")
public ModelAndView test(@PathVariable("name") Long id){}

参考资料:

  1. 面试阿里,被问:RequestMapping 和 GetMapping 的不同之处在哪里?
  2. get、post、getMapping、postMapping、requestMapping区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值