后端参数接收之@RequestParam

列举一下@RequestParam接收参数的几种前后端对应情况:

大前提:

1,如果后端使用了@RequestParam,前端就必须提供相应的参数,否则会报400并提示所需参数不存在。如果有多个@RequestParam,只会提示第一个。
2,如果使用request.getParameter(“xxx”)接收参数,就不存在这种情况,即使前端不提供相应参数,后端只是获取到空值,但是不会报错。

一,前端用vue,get请求,参数拼接在url中:

在这里插入图片描述
后端用@RequestParam或者request.getParameter(“xxx”)都可以获取所需参数。
在这里插入图片描述

二,前端vue,post请求,参数在请求体中,不拼接在url上:

在这里插入图片描述
后端无法获取参数,并且报错。

在这里插入图片描述

三,前端html页面上,在表单里写参数

在这里插入图片描述
后端用@RequestParam或者request.getParameter(“xxx”)都可以获取所需参数。

在这里插入图片描述

四,前端html,把参数拼接在url里

在这里插入图片描述

后端用@RequestParam或者request.getParameter(“xxx”)都可以获取所需参数。

在这里插入图片描述

五,当参数直接放在url中,不使用键值对时:

在这里插入图片描述

后端使用@PathVariable可获取此类参数,但是request.getParameter(“xxx”)获取不到。并且如果把@PathVariable改成@RequestParam会报400错误

在这里插入图片描述

六,后端没有使用@RequestParam,但是使用了简单类型接收参数,

比如用name,那么前端可以传参数也可以不传参数,如果前端有相应的名称的参数,则后端自动匹配,如果前端没有,则后端获取到的位null
下图是自动匹配的,
在这里插入图片描述
下边两图是前端修改了参数名,与后端不匹配,后端获取到的参数为空
在这里插入图片描述
在这里插入图片描述

七,前端将参数放在url中,后端使用对象接收

注意前端传的key-value 要跟后端接收参数用的对象中的属性一致。
在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值