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

@RequestBody与@RequestParam

@RequestBody会将请求体中的数据,转换成对象.最主要的是RequestBody就是要返回Json的字符串!!!

@RequestParam会从http请求查询参数中提取数据!

@RequestParam和@RequestBody是Spring Framework中用于处理HTTP请求的注解,它们有以下区别:

1.数据来源:

@RequestParam: 从HTTP请求的查询参数中提取数据,即从URL中的?key=value形式的参数中获取数据。
@RequestBody: 从HTTP请求的请求体(body)中提取数据,通常用于接收JSON、XML等格式的数据。
2.用法:

@RequestParam: 通常用于处理GET请求或POST请求中的表单数据,例如?name=John&age=30这样的查询参数。
@RequestBody: 通常用于处理POST请求中的非表单数据,例如JSON格式的数据,或者XML格式的数据。
3.数据格式:

@RequestParam: 提取的数据一般是简单类型,如字符串、整数等。
@RequestBody: 提取的数据可以是复杂类型,如自定义的Java对象、Map、List等,通常是用于反序列化JSON或XML数据为Java对象。
举个例子来说,假设有一个HTTP POST请求,请求体中包含JSON格式的数据:

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


使用@RequestBody可以将这个JSON数据转换成Java对象:

@PostMapping("/api/users")
public ResponseEntity<User> createUser(@RequestBody User user) {// 处理用户创建逻辑return ResponseEntity.ok(user);
}


而如果是一个HTTP GET请求,包含查询参数:
/api/users?id=123

使用@RequestParam可以提取id参数的值:

@GetMapping("/api/users")
public ResponseEntity<User> getUserById(@RequestParam("id") Long userId) {// 根据用户ID查询用户信息User user = userRepository.findById(userId);if (user != null) {return ResponseEntity.ok(user);} else {return ResponseEntity.notFound().build();}
}


总的来说,@RequestParam适用于提取简单的查询参数,而@RequestBody适用于处理复杂的非表单数据。

http://www.lryc.cn/news/411948.html

相关文章:

  • vmware上,虚机经常丢失网卡。导致无法上网。
  • git 鉴权失败
  • [C++] 容器适配器:深入理解Stack与Queue的底层原理
  • Eclipse maven 的坑
  • 多模态视觉大语言模型——LLaVA
  • 服务注册到nacos上,不能点击下线的问题处理
  • 未来3-5年,哪些工作会被AI取代
  • 鸿蒙系统开发【网络管理】
  • nginx如何处理请求
  • 换地不换IP?揭秘微博IP地址的奥秘
  • 数据库事务处理技术——故障恢复
  • Java零基础之多线程篇:性能考虑篇
  • CSP 初赛复习 :计算机网络基础
  • 【Docker应用】快速搭建Plik服务结合内网穿透无公网IP远程访问传输文件
  • 记录使用FlinkSql进行实时工作流开发
  • 韶音开放式耳机怎么样?韶音、西圣、QCY热门款实测横评
  • 求值(河南萌新2024)
  • 【Linux】文件描述符 fd
  • 带通采样定理
  • 运维工作中的事件、故障排查处理思路
  • 深入源码P3C-PMD:使用流程(1)
  • java~反射
  • 【Linux】(26) 详解磁盘与文件系统:从物理结构到inode机制
  • 8.1 字符串中等 43 Multiply Strings 38 Count and Say
  • upload-labs靶场:1—10通关教程
  • Hive3:一键启动、停止、查看Hive的metastore和hiveserver2两个服务的脚本(好用)
  • 遗传算法与深度学习实战——生命模拟及其应用
  • 大数据|使用Apache Spark 删除指定表中的指定分区数据
  • OSPF动态路由协议实验
  • tcp中accept()的理解