服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 基于@RequestParam name和value属性的区别

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

2021-11-22 13:07wenyixicodedog Java教程

这篇文章主要介绍了@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
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.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

延伸 · 阅读

精彩推荐
  • Java教程java 分转元与元转分实现操作

    java 分转元与元转分实现操作

    这篇文章主要介绍了java 分转元与元转分实现操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    Hekliu3852021-08-10
  • Java教程Tomcat和Spring中的事件机制深入讲解

    Tomcat和Spring中的事件机制深入讲解

    这篇文章主要给大家介绍了关于Tomcat和Spring中事件机制的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    knock_小新4262021-06-23
  • Java教程Java实现超级实用的日记本

    Java实现超级实用的日记本

    一个用Java语言编写的,实现日记本的基本编辑功能、各篇日记之间的上下翻页、查询日记内容的程序。全部代码分享给大家,有需要的小伙伴参考下。 ...

    hebedich5512019-12-17
  • Java教程Java构造函数与普通函数用法详解

    Java构造函数与普通函数用法详解

    本篇文章给大家详细讲述了Java构造函数与普通函数用法以及相关知识点,对此有兴趣的朋友可以参考学习下。...

    彬菌7432021-04-09
  • Java教程解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题

    解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题

    这篇文章主要介绍了解决MultipartFile.transferTo(dest) 报FileNotFoundExcep的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不...

    dany_zj_cn8392021-09-23
  • Java教程MyBatis快速入门

    MyBatis快速入门

    MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。想要学好它,那就...

    codeRose4452020-08-28
  • Java教程java实现分段读取文件并通过HTTP上传的方法

    java实现分段读取文件并通过HTTP上传的方法

    这篇文章主要介绍了java实现分段读取文件并通过HTTP上传的方法,实例分析了java分段读取文件及使用http实现文件传输的相关技巧,具有一定参考借鉴价值,需要...

    华宰3822019-12-27
  • Java教程Java并发编程之ReadWriteLock读写锁的操作方法

    Java并发编程之ReadWriteLock读写锁的操作方法

    这篇文章主要介绍了Java并发编程之ReadWriteLock读写锁的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可...

    Java硬件工程师3942021-08-03