浅谈@RequestParam(required = true)的误区

 更新时间:2021年11月05日 09:06:47   作者:couthz  
这篇文章主要介绍了@RequestParam(required = true)的误区,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

@RequestParam(required = true)的误区

先说结论

required = true是在前端没有传参数的时候报错,并不能防止参数为空。

考虑一下代码:

@GetMapping("/userInfo")
    public void userInfo(@RequestParam(required = true) Integer id) {
           ...
    }

如果请求如下就会报400错误:

http://localhost:8088/userInfo

但构造以下请求,可以使id为空:

http://localhost:8088/userInfo?id=

参数总结

  • required=true表示前端必须传参数。
  • required=false表示前端不传参数的时候,会将参数置为null。因此假如参数是int这种不能赋值为null的类型,就可能会报错。

使用了defaultValue,required只能为false,前端不传参数时会将参数置为defaultValue。

@RequestParam(required=false int id)值不传报错

@RequestParam(required=false int id):required=false说明了可以不传值,如果是

// 注意现在是String类型的id
@RequestParam(required=false Sting id)

这种不传值就不会报错

但如果是标题上写的int类型这种

@RequestParam(required=false int id)

就会报错,因为null不能赋给int。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Security角色继承分析

    Spring Security角色继承分析

    这篇文章主要介绍了Spring Security角色继承分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • java调用shell命令并获取执行结果的示例

    java调用shell命令并获取执行结果的示例

    今天小编就为大家分享一篇java调用shell命令并获取执行结果的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • 公共POI导出Excel方法详解

    公共POI导出Excel方法详解

    这篇文章主要介绍了公共POI导出Excel方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Java基本概念监视器实习原理解析

    Java基本概念监视器实习原理解析

    这篇文章主要介绍了Java基本概念监视器实习原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Java并发编程同步器CountDownLatch

    Java并发编程同步器CountDownLatch

    这篇文章主要介绍了Java并发编程同步器CountDownLatch,文章基于Java并发编程的相关资料展开具有一定的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • SpringCloud Gateway跨域配置代码实例

    SpringCloud Gateway跨域配置代码实例

    这篇文章主要介绍了SpringCloud Gateway跨域配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • springboot项目启动后执行方法的三种方式

    springboot项目启动后执行方法的三种方式

    有时项目需求,需要项目启动的时候向数据库中查询一下系统属性,或者需要加载某个特定的方法,下面这篇文章主要给大家介绍了关于springboot项目启动后执行方法的三种方式,需要的朋友可以参考下
    2022-06-06
  • Java 注解学习笔记

    Java 注解学习笔记

    一直都在使用注解,但是一直都没有用的很明白,后来被逼的发现不搞明白真的就没有办法愉快的写代码了,所以,这篇《Java中的注解学习笔记》就呼之欲出了
    2020-10-10
  • MyBatis批量插入几千条数据为何慎用foreach

    MyBatis批量插入几千条数据为何慎用foreach

    这篇文章主要介绍了MyBatis批量插入几千条数据为何慎用foreach问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 深入学习Java同步机制中的底层实现

    深入学习Java同步机制中的底层实现

    在多线程编程中我们会遇到很多需要使用线程同步机制去解决的并发问题,这些同步机制是如何实现的呢?下面和小编来一起学习吧
    2019-05-05

最新评论