• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

基于@RequestParam name和value属性的区别

java 搞代码 4年前 (2022-01-05) 47次浏览 已收录 0个评论
文章目录[隐藏]

这篇文章主要介绍了@RequestParam name和value属性的区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

基于name和value属性的区别

RequestParam内部有4个参数

  • 1、String name;
  • 2、String value;
  • 3、boolean required;
  • 4、String defaultValue;

源码中name的别名是value,value的别名是name,

所以说name和value两个属性基本是等价的,都是获取从前台传入的参数

@RequestParam,参数是否必须传的问题

一、源码展示

 @Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface RequestParam { @AliasFor("name") String value() default ""; @AliasFor("value") String name() default ""; boolean required() default true; String defaultValue() defa<a style="color:transparent">来源gao($daima.com搞@代@#码网</a>ult ValueConstants.DEFAULT_NONE; }

这是示例代码

 @GetMapping("/findById") public ResultBean byid(@RequestParam(defaultValue = "1",required = false,/*value = "ss",*/name = "ls") Integer id){ List all = customersService.findById(id); return ResultBean.ok(all); }

二、说明

2.1 @RequestParam

对于参数入参,这个注解可以不必须有,但只能匹配和你定义的入参,完全一样的名称,对应则匹配,不对应就不匹配。

2.2 required

是否必须,默认为 true,也就是说,当@RequestParam存在时,是默认required = true条件的,@RequestParam不存在时,返回 2.1 的解释。

2.3 defaultValue

设置初始值,一般和required = false一起使用,如果不传值,则使用默认值。

2.4 value

和name,一样,给变量起别名,一一对应于前端传的属性名,映射到后端接口变量名,有时前端无法按要求传给你你所希望的变量名,这个就发挥用处了。

2.5 name

和value一样,给变量起别名,两个同时存在时,访问时就会出错。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网

以上就是基于@RequestParam name和value属性的区别的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:基于@RequestParam name和value属性的区别

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址