含义上的区别
@RequestMapping是加在类上面的,所以@RequestMapping是具有类属性的,可以进行GET,POST,PUT或者其他的注解中具有的请求方法。
@GetMapping注解相当于标注该请求方法精确到了Get请求方法。@GetMapping是@RequestMapping方法附加了get请求方法。@GetMapping是@RequestMapping的一个延伸,目的是为了提高项目的清晰度。
@PostMapping是@RequestMapping方法附加了post请求方法。和@RequestMapping的区别与上同理。
使用场景上的区别
- 在前端method特指了get或post的时候分别使用@GetMapping和@PostMapping。
# 示例
<form action="testGetMapping" method="get">这里使用@GetMapping<form/>
<form action="testPostMapping" method="post">这里使用@PostMapping<form/>
- 如果传的参数是@RequestBody,多参或者传对象的情况下使用@PostMappping注解。
@PostMapping("/getOrderList")
public List<Object> getList(@RequestBody List<Object> orderList) {}
【补充回顾:@RequestBody是获取请求body中的数据,常用于搭配@PostMapping请求来提交对象数据。参考链接:SpringBoot中常用注解】
- 无参,@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){}
参考资料: