-
为演示效果,首先需要创建一个测试控制类,然后创建一个测试方法,如图所示,方法里添加一个参数,此时方法参数没有添加注解
-
通过idea工具启动web项目,然后通过浏览器访问测试效果,不带参数则获取的参数为null,但页面可以正常显示,请求可以正常的执行,带上参数之后,参数可以正常的获取并打印出来了
-
下面来对比下添加注解的效果,但只是添加@RequestParam,没有带任何的注解设置参数。
-
再次通过浏览器访问查看效果,此时带上userName参数页面可以正常显示并打印出结果值,但如图所示,不带参数的时候,页面报错,返回400,并提示userName不存在
-
当然这样的限制是可以选择的,@RequestParam里添加required=false来关闭必须参数的限制,这样就和不带第一种不带注解的效果一样了
-
@RequestParam还可以在参数为空的情况下,为我们设置一个参数的默认值,如图所示,可以看出来,没有参数的情况下,获取到的就是默认值
-
默认参数的key名称是方法里的参数名称,但通过@RequestParam可以自定义另外一个,因为在某些条件下,方法名称固定下来不可以修改了,但请求的参数又需要通过另外一个参数key名称来传递,这样就可以通过这样的方式来实现,这样name 和 userName 都可以作为 参数名称来传递
相关文章
- 12-29nginx反向代理proxy_pass url后加"/"与不加"/"的区别
- 12-29set @sql=N'q',这里的N是什么意思,加与不加有什么区别
- 12-29@Dependson注解与@ConditionalOnBean注解的区别
- 12-29nginx location proxy_pass 后面的url 加与不加/的区别
- 12-29Spring中 @Autowired注解与J2EE@Resource注解的区别
- 12-29v-on绑定事件时,函数名加括号和不加括号的区别
- 12-29No.7 su命令中,加-号和不加-号的区别
- 12-29函数基础重点掌握内容:创建函数、return返回单个值、return返回多个值、函数名加括号与不加括号的区别
- 12-29Python调用函数加括号和不加括号的区别
- 12-29[转]vue属性加冒号“:”和不加冒号“:”的区别