当前位置: 首页 > news >正文

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

文章目录

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@PostMapping("/upload")public ResponseEntity<String> uploadImage(@Validated @RequestPart ImageUploadDTO uploadDTO) {MultipartFile imageFile = uploadDTO.getImage();String description = uploadDTO.getDescription();return ResponseEntity.ok("图片上传成功:" + description);}
http://www.lryc.cn/news/151632.html

相关文章:

  • 基于java+springboot+vue的交流互动系统-lw
  • 使用candump+grep查看CAN报文
  • Vue中el-table表格的拖拽排序
  • 配置环境变量的作用
  • Mysql的page,索引,Explain Type等基本常识
  • 【业务功能篇95】web中的重定向与转发
  • IP对讲终端SV-6005带一路2×15W或1*30W立体声做广播使用
  • ES6 新特性
  • grafana用lark发告警python3接口
  • Java 中数据结构HashSet的用法
  • vue3下的密码输入框(antdesignvue)
  • 鸿鹄企业工程项目管理系统 Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统源代码
  • 【爬虫】5.5 Selenium 爬取Ajax网页数据
  • thinkphp6 入门(3)--获取GET、POST请求的参数值
  • JSON简介
  • [Java]_[初级]_[以SAX流的方式高效读取XML大文件]
  • Visual Studio中平台和配置的概念
  • 【vue2第八章】工程化开发和使用脚手架和文件结构
  • 建造者模式简介
  • 虚拟世界指南:从零开始,一步步教你安装、配置和使用VMware,镜像ISO文件!
  • 服务器卡顿怎么查找原因?
  • Pnpm,npm,yarn
  • Kubernetes技术--使用kubeadm快速部署一个K8s集群
  • LeetCode 45题:跳跃游戏
  • idea中设置指定图片为项目站标
  • 【【萌新的STM32学习-27--USART异步通信配置步骤】】
  • elementplus实现左侧菜单栏收缩与展开
  • VBA技术资料MF50:VBA_在Excel中突出显示前3个值
  • linux定时删除服务器日志
  • 网络地址转换技术NAT(第九课)