@RequestMapping
- @RequestMapping 注解可以在控制器类上和控制器类中的方法上使用。
- @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 都是HTTP方法特有的快捷方式@RequestMapping的变体,分别对应具体的HTTP请求方式的映射注解
@GetMapping
@GetMapping注解的工作原理与@RequestMapping注解类似。当Spring Boot接收到一个HTTP GET请求时,它会查找具有相应URL路径的控制器方法,然后调用该方法处理请求。在调用控制器方法之前,Spring Boot会执行一系列预处理操作,例如解析请求参数和验证请求头。在调用控制器方法之后,Spring Boot会执行一系列后处理操作,例如转换响应信息和生成响应头。
@RestController
@RequestMapping("/api")
public class MyController {
@GetMapping("/hello")
public String hello(@RequestParam String name) {
return "Hello, " + name + "!";
}
}
@PostMapping
- 自动转换为 JSON 或 XML:@PostMapping 注解可以自动将请求体中的数据转换为 Java 对象,并将返回值转换为 JSON 或 XML 格式,方便客户端解析处理。
- 简化代码:@PostMapping 注解可以大大简化 POST 请求处理方法的开发,减少代码量和冗余操作。
@DeleteMapping
@DeleteMapping 注解就能够非常便捷的声明能够处理DELETE请求的方法
@PutMapping
put真正的目的其实是执行大规模的替换操作,而不是更新操作。
@PatchMapping
patch的目的是对资源数据打补丁或局部更新
@RequestBody
- 一个请求,只有一个RequestBody
- 如果参数时放在请求体中,application/json传入后台的话,那么后台要用@RequestBody才能接收到
@RequestParam
- 一个请求,可以有多个RequestParam。
- @RequestParam()指定的参数可以是普通元素、
数组、集合、对象等等
@PathVariable
- @PathVariable 映射 URL 绑定的占位符
- @PathVariable(“xxx”) 绑定到操作方法的入参中。
@RequestMapping("/getUserById/{name}")
public User getUser(@PathVariable("name") String name){
return userService.selectUser(name);
}