Skip to content
Menu
万别客的百宝袋
  • 首页
  • Linux命令|知识
  • 编程语言知识
    • Java
    • Mysql
万别客的百宝袋

Java Spring框架中Web请求中的参数映射到控制器的注解

Posted on 2024年 9月 4日2024年 9月 4日
2024年 9月 4日

@RequestParam

  • 用于将URL中的占位符(path variable)映射到控制器方法的参数上
  • 通常用于RESTful Web服务中,用于处理URL路径中的动态部分
  • 例如,在URL /users/{userId} 中,{userId} 就是一个占位符,可以通过 @PathVariable 映射到方法参数中。
@GetMapping("/users/{userId}")
public ResponseEntity<User> getUser(@PathVariable String userId) {
    // ...
}
@PathVariable注解的详细说明

@RequestParam

  • 用于将请求参数(query parameter)映射到控制器方法的参数上。
  • 通常用于处理URL的查询字符串部分,例如 ?name=value。
  • 可以指定参数是否必须,如果必须的参数缺失,将返回400错误。
@GetMapping("/search")
public ResponseEntity<List<User>> searchUsers(@RequestParam(required = false) String name) {
    // ...
}

@RequestBody

  • 用于将请求的body部分(通常是一个JSON或XML对象)映射到控制器方法的参数上。
  • 通常用于处理POST或PUT请求,用于接收客户端发送的数据。
  • 需要在方法参数前添加 @RequestBody 注解,并且参数类型通常是Java对象或Map。
@PostMapping("/users")
public ResponseEntity<User> createUser(@RequestBody User user) {
    // ...
}

@RequestHeader

  • 用于将请求头(header)中的值映射到控制器方法的参数上。
  • 可以获取请求头中的信息,例如 Content-Type 或者自定义的头部信息。
@GetMapping("/users")
public ResponseEntity<List<User>> getUsers(@RequestHeader("Authorization") String authHeader) {
    // ...
}

@CookieValue

  • 用于将cookie中的值映射到控制器方法的参数上。
  • 可以获取请求中携带的cookie信息。
@GetMapping("/profile")
public ResponseEntity<String> getProfile(@CookieValue("sessionId") String sessionId) {
    // ...
}


修改日期:
2024年 9月 4日

万别客

Brother_Wan

©2026 万别客的百宝袋