spring boot rest api 参数声明body header route query注解

图片

在Spring Boot中,创建RESTful API时,通常会使用Spring MVC提供的注解来声明请求参数。以下是一些常用的注解及其用途:

1. @RequestBody

  • 用途

    :用于将HTTP请求的body部分绑定到方法参数上,通常用于接收JSON或XML格式的数据。

  • 使用场景

    :适用于POST或PUT请求,当需要接收一个对象或复杂数据结构时。

  • 示例

    :```
    @PostMapping("/users")
    public ResponseEntity createUser(@RequestBody User user) {
        // 处理逻辑
        return ResponseEntity.ok(user);
    }

    
    
    

2. @RequestHeader

  • 用途

    :用于从HTTP请求头中获取参数。

  • 使用场景

    :当需要从请求头中获取特定的信息,如认证信息、用户代理等。

  • 示例

    :```
    @GetMapping("/info")
    public String getInfo(@RequestHeader("User-Agent") String userAgent) {
        return "User Agent: " + userAgent;
    }

    
    
    

3. @PathVariable

  • 用途

    :用于从URL路径中提取变量。

  • 使用场景

    :适用于RESTful URL设计,如获取特定资源的详细信息。

  • 示例

    :```
    @GetMapping("/users/{id}")
    public ResponseEntity getUserById(@PathVariable Long id) {
        // 处理逻辑
        return ResponseEntity.ok(userService.findById(id));
    }

    
    
    

4. @RequestParam

  • 用途

    :用于从HTTP请求的查询参数中获取值。

  • 使用场景

    :适用于GET请求,当需要从URL的查询字符串中获取参数时。

  • 示例

    :```
    @GetMapping("/users")
    public List getUsers(@RequestParam(required = false) String name) {
        // 处理逻辑
        return userService.findByName(name);
    }

    
    
    

5. @RequestPart

  • 用途

    :用于接收多部分请求中的文件或数据部分。

  • 使用场景

    :适用于文件上传或接收多部分数据。

  • 示例

    :```
    @PostMapping("/upload")
    public String handleFileUpload(@RequestPart("file") MultipartFile file) {
        // 处理文件上传
        return "File uploaded successfully";
    }

    
    
    

这些注解使得Spring Boot中的RESTful API开发更加灵活和简洁,可以根据不同的需求选择合适的注解来处理请求参数.

posted @ 2025-01-10 11:31  东百牧码人  阅读(82)  评论(0)    收藏  举报