gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章基于@RequestParam name和value属性的区别由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

基于name和value属性的区别

RequestParam内部有4个参数

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

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

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

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

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

1、源码展示

?
1
2
3
4
5
6
7
8
9
10
11
@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;
}

这是示例代码 。

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

2、说明

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一样,给变量起别名,两个同时存在时,访问时就会出错.

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/wenyiCodeDog/article/details/102517887 。

最后此篇关于基于@RequestParam name和value属性的区别的文章就讲到这里了,如果你想了解更多关于基于@RequestParam name和value属性的区别的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com