Springboot常用方法参数注解及示例

文章目录

      • Springboot常用方法参数注解及示例
        • [一、`@RequestParam`: 从URL查询参数中提取数据。](#一、@RequestParam: 从URL查询参数中提取数据。)
        • [二、`@PathVariable`: 从URL路径中提取数据。](#二、@PathVariable: 从URL路径中提取数据。)
        • [三、`@RequestBody`: 从请求体中提取数据,并映射到对象。](#三、@RequestBody: 从请求体中提取数据,并映射到对象。)
        • [四、`@RequestHeader`: 从请求头中提取数据。](#四、@RequestHeader: 从请求头中提取数据。)
        • [五、`@Validated` / `@Valid`: 启用方法参数校验,确保参数满足校验规则。](#五、@Validated / @Valid: 启用方法参数校验,确保参数满足校验规则。)
        • [六、`@ModelAttribute`: 从请求参数或表单数据中提取数据,并映射到对象。](#六、@ModelAttribute: 从请求参数或表单数据中提取数据,并映射到对象。)
        • [七、`@RequestPart`: 从`multipart/form-data`类型的请求中提取数据。](#七、@RequestPart: 从multipart/form-data类型的请求中提取数据。)

Springboot常用方法参数注解及示例

一、@RequestParam: 从URL查询参数中提取数据。

java 复制代码
@GetMapping("/greet")
public ResponseEntity<String> greet(@RequestParam String name) {
    return ResponseEntity.ok("Hello, " + name + "!");
}

二、@PathVariable: 从URL路径中提取数据。

java 复制代码
@GetMapping("/users/{userId}")
public ResponseEntity<User> getUserById(@PathVariable Long userId) {
    User user = userService.getUserById(userId);
    return ResponseEntity.ok(user);
}

三、@RequestBody: 从请求体中提取数据,并映射到对象。

java 复制代码
@PostMapping("/create-user")
public ResponseEntity<String> createUser(@RequestBody User user) {
    userService.createUser(user);
    return ResponseEntity.ok("User created successfully");
}

四、@RequestHeader: 从请求头中提取数据。

java 复制代码
@GetMapping("/user-agent")
public ResponseEntity<String> getUserAgent(@RequestHeader("User-Agent") String userAgent) {
    return ResponseEntity.ok("User Agent: " + userAgent);
}

五、@Validated / @Valid: 启用方法参数校验,确保参数满足校验规则。

java 复制代码
@PostMapping("/register")
public ResponseEntity<String> registerUser(@Validated @RequestBody UserRegistrationDTO registrationDTO) {
    // 执行用户注册逻辑
    return ResponseEntity.ok("用户注册成功");
}

六、@ModelAttribute: 从请求参数或表单数据中提取数据,并映射到对象。

java 复制代码
@PostMapping("/update-user")
public ResponseEntity<String> updateUser(@ModelAttribute UserUpdateDTO updateDTO) {
    userService.updateUser(updateDTO);
    return ResponseEntity.ok("User updated successfully");
}

七、@RequestPart: 从multipart/form-data类型的请求中提取数据。

java 复制代码
@PostMapping("/upload")
    public ResponseEntity<String> uploadImage(@Validated @RequestPart ImageUploadDTO uploadDTO) {
        MultipartFile imageFile = uploadDTO.getImage();
        String description = uploadDTO.getDescription();
        return ResponseEntity.ok("图片上传成功:" + description);
    }
相关推荐
Bazingga3 分钟前
Embabel学习笔记:把Agent的决策权从LLM手里拿回来
后端
用户8314550980314 分钟前
基于 Firecracker 自建 Agent 沙箱集群:状态机 + 文件管理 + 进程编排,附 E2B 生产经验校准
后端
泡海椒15 分钟前
JQuick-Excel VALIDATION 实战:用作用范围约束 Excel 导入校验
开发语言·python·excel
武子康35 分钟前
LingBot-VA 2.0 深度解析:为什么要同时预测未来世界与机器人动作
人工智能·后端·agent
wno7041 小时前
Spring Boot整合Quartz
java·spring boot·后端
颜进强1 小时前
26 · NestJS 基础篇 · 全专栏总结:五个阶段,一次收拢
前端·后端·ai编程
一个有温度的技术博主2 小时前
深拷贝和浅拷贝:一次“搬家”事故
java·后端
萧瑟余晖2 小时前
Spring Boot Actuator监控运维详解
spring boot
小静AI工程实验室2 小时前
Python 爬虫解析 JSON-LD:多块 script、@graph 与坏数据的 9 个边界
爬虫·python·json
jason.zeng@15022072 小时前
(八)现有架构上新增一个通用Excel导出工具
python·架构·langchain·excel·llama