@RequestParam详解以及加与不加的区别
2024-10-19 22:23:15
以前写controller层的时候都是默认带上 @RequestParam 的, 今天发现不加@RequestParam 也能接收到参数
下面我们来区分一下加与不加的区别
这里有两种写法
- @RequestMapping("/list")
- public String test(@RequestParam Long parentId) {
- }
- @RequestMapping("/list")
- public String test( Long parentId) {
- }
第一种必须带有参数,也就是说你直接输入localhost:8080/list 会报错 不会执行方法 只能输入localhost:8080/list?parentId=? 才能执行相应的方法
第二种 可带参数也可不带参数 就是说你输入 localhost:8080/list 以及 localhost:8080/list?parentId=? 方法都能执行
当然你也可以设置 @RequestParam 里面的required为false(默认为true 代表必须带参数) 这样就跟第二种是一样的了
如下:
- @RequestMapping("/list")
- public String test(@RequestParam(required=false) Long parentId) {
- .....
- }
当然你还可以设置里面的defaultValue的属性
如下:
- @RequestMapping("/list")
- public String test(@RequestParam(defaultValue="0") Long parentId) {
- ...
- }
这样在地址里面也可以不带参数,如果带了参数会接收,不带参数会默认为0
里面还有一个value属性也讲一下, 前面所有的方法 传入的参数必须为parentId 才能接收到值
但是如果你加了value属性
- @RequestMapping("/list")
- public String test(@RequestParam(value="id") Long parentId) {
- ..
- }
这样会用id 代替parentId 也就是说你地址里面传入的参数名称为id localhost:8080/list?id=? 这种
最新文章
- Python学习总结 03 Plotly 学习总结
- Hibernate 一对多 保存和修改数据
- Java数据结构和算法之数组与简单排序
- [Delphi]Delphi开发的一些技巧
- 54.xilinx_modelsim仿真错误1
- Hibernate笔记——(ONE TO ONE)一对一
- WordPress 主题框架是如何工作的
- HDOJ1175连连看 DFS
- iOS-MVVM--备用
- [Hapi.js] Request Validation with Joi
- [转载] 编程每一天(Write Code Every Day)
- 笔记+R︱信用风险建模中神经网络激活函数与感知器简述
- git报错:'fatal:remote origin already exists
- Python Django 配置QQ邮箱发送邮件
- Jupyter Notebook 的快捷键
- bus总线
- canvas-tangram.html
- jPlayer插件的使用
- android studio中使用git版本管理
- SERVICE问题解决方法