Skip to content

获取 HTTP 请求参数

在 Spring Boot 中,HTTP 请求传来的数据可以通过多种方式获取,具体取决于数据的来源(如 URL 路径、查询参数、请求体、请求头等)。以下是常见的获取方式总结:

从 URL 路径中获取数据

使用 @PathVariable

代码示例

java
@GetMapping("/user/{id}")
public String getUserById(@PathVariable String id) {
    return "User ID: " + id;
}

请求示例

  • URL: /user/123
  • 提取的 id: 123

从查询参数中获取数据

使用 @RequestParam

代码示例

java
@GetMapping("/user")
public String getUserByName(@RequestParam String name) {
    return "User Name: " + name;
}

请求示例

  • URL: /user?name=John
  • 提取的 name: John

从请求体中获取数据

使用 @RequestBody,将请求体中的 JSON 或 XML 数据绑定到 Java 对象。

代码示例

java
@PostMapping("/user")
public String createUser(@RequestBody User user) {
    return "User created: " + user.getName();
}

请求示例

请求体 (JSON):

json
{
  "name": "John",
  "age": 30
}

从请求头中获取数据

使用 @RequestHeader

代码示例

java
@GetMapping("/user")
public String getUserAgent(@RequestHeader("User-Agent") String userAgent) {
    return "User Agent: " + userAgent;
}

请求示例

  • 请求头: User-Agent: Mozilla/5.0
  • 提取的 userAgent: Mozilla/5.0

从文件上传中获取数据

使用 MultipartFile,处理文件上传。

代码示例

java
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
    return "File uploaded: " + file.getOriginalFilename();
}