Flutter开发App的未来及其在各行业的应用潜力分析
1031
2022-12-18
基于@RequestParam name和value属性的区别
目录基于name和value属性的区别RequestParam内部有4个参数@RequestParam,参数是否必须传的问题一、源码展示二、说明2.1 @RequestParam2.2 required2.3 defaultValue2.4 value2.5 name
基于name和value属性的区别
RequestParam内部有4个参数
1、String name;
2、String value;
3、boolean required;
4、String defaultValue;
源码中name的别名是value,value的别名是name,
所以说name和value两个属性基本是等价的,都是获取从前台传入的参数
@RequestParam,参数是否必须传的问题
一、源ceyHaPT码展示
@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() default ValueConstants.DEFAULT_NONE;
}
@GetMapping("/findById")
public ResultBean byid(@RequestParam(defaultValue = "1",required = false,/*value = "ss",*/name = "ls") Integer id){
List
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,一样,给变量起别名ceyHaPT,一一对应于前端传的属性名,映射到后端接口变量名,有时前端无法按要求传给你你所希望的变量名,这个就发挥用处了。
2.5 name
和value一样,给变量起别名,两个同时存在时,访问时就会出错。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~