千家信息网

@RequestParam和@RequestBody怎么用

发表于:2025-11-20 作者:千家信息网编辑
千家信息网最后更新 2025年11月20日,这篇文章给大家分享的是有关@RequestParam和@RequestBody怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前端向后端传递参数,后端怎么去接收,就会想
千家信息网最后更新 2025年11月20日@RequestParam和@RequestBody怎么用

这篇文章给大家分享的是有关@RequestParam和@RequestBody怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

前端向后端传递参数,后端怎么去接收,就会想到 spring 的注解

之前的话,我一直用的是 RequestParam("userName") String userName 这种形式,讲道理不怎么用 RequestParam String userName

无意间该去看看这两个是有什么不同了.

@RequestParam @RequestBody (以 json 数据的形式接收)

如果不写 @RequestParam(xxx) 注解的话,那么就前端可以有 可以没有对应的xxx名字都行

如果有xxx名,那么就会自动匹配;

如果没有,请求也能正确发送。

一、 @RequestParam

/** * 用户登录 * @param userName * @param password * @return */ @RequestMapping(value = "login", method = RequestMethod.POST) public String login(@RequestParam String userName, @RequestParam String password){ public BaseResponse login(@RequestParam("user") String userName, @RequestParam("psd") String password){

如果前端不传 userName 或者 password 参数名的参数就会报错

1. 用 @RequestParam 前端传过来的参数名默认为 userName 我们String后面起的参数名

如果前端不传 user 或者 psd 参数名的参数就会报错

2. 用 @RequestParam("user") @RequestParam("psd"), 给前端传递过来的参数指定参数名

错误信息

3. "message":"Required String parameter 'userName' is not present"

其实还有其他的形式

看下面

@RequestParam(value="user" required=false) 这个注解

可以通过 required = false 或者 true 来要求 @RequestParam配置的前端参数是否一定要传

required = false 表示不传的话,会给参数赋值为 null ,required = true 就是必须要有

注意:

如果@requestParam注解的参数是int类型,并且required=false,此时如果不传参数的话,会报错。原因是,required=false时,不传参数的话,会给参数赋值null,这样就会把null赋值给了int,因此会报错。

使用 Integer 包装类型的话还要需要注意空指针异常

二、@RequestBody

@RequestBody 以 字符串 的形式接收前端传过来的请求体中的 json 数据

@RequestMapping(value = "login", method = RequestMethod.POST) public String login(@RequestBody String jsonStr){

@RequestBody 以 简单对象 接收前端传过来的 json 数据

@RequestMapping(value = "login", method = RequestMethod.POST) public String login(@RequestBody User user){

@RequestBody以 复杂对象 接收前端传过来的 json 数据

@RequestMapping(value = "login", method = RequestMethod.POST) public String login(@RequestBody Team team){

感谢各位的阅读!关于"@RequestParam和@RequestBody怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

参数 前端 形式 数据 注解 会报 内容 对象 更多 篇文章 类型 不同 不错 复杂 实用 不怎么 两个 信息 原因 可以通过 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发项目任务书模板 征途一键端怎么连接数据库 初中生学软件开发行么 谷歌服务器下载安装最新版 基础学习软件开发 星网锐捷网络技术官网 关于网络安全的讲座心得 top10网络安全 上海网络安全产业三年行动 xampp连接其他数据库 国泰安并购失败数据库 财务系统连接授权服务器失败 国家学生网络安全法心得体会 数据库bak文件怎么还原 gps网络模式登录服务器失败 消防网络安全直播在哪看 航空软件开发保密条例规章制度 抗击疫情中使用的网络技术 商州租房软件开发 南宁叁拾捌度玖网络技术 精准营销 数据库营销 赣州博联网络技术有限公司 小米3路由器改打印机服务器 人社局的计算机网络安全管理员证 华为数据库 王伟民 前端从数据库中取数据有什么弊端 基岩版服务器装行为包 电子邮箱发送服务器地址怎么填 常德有关软件开发的公司 后台数据库的引入
0