欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

@RequestParam 接收参数的值为null的处理方式

程序员文章站 2022-04-15 09:21:00
目录@requestparam 接收参数的值为null对于@requestparam的一些小疑问问题一问题二@requestparam 接收参数的值为null@requestmapping(value...

@requestparam 接收参数的值为null

@requestmapping(value = "/test")
 public string test( @requestparam(value = "profit",required = false,defaultvalue = "0") int profit){
      system.out.println("profit:"+profit);
       return "success";
}

第一种处理方式(如上图):defaultvalue请求参数的默认值,一般和 required = false 一起使用

第二种处理方式:接收的参数如果是null的话,int就要改为integer,integer默认值为null

@requestmapping(value = "/test")
 public string test(@requestparam(
 @requestparam(value = "profit",required = false) integer profit){
      system.out.println("profit:"+profit);
       return "success";
}

对于@requestparam的一些小疑问

问题一

首先我在使用spring时一直使用@requestparam来校验参数是否为空,但是我想我对@requestparam的用法产出了一些误解。

简单来说@requestparam只能验证你有没有传这个参数,而不能验证你传的参数是否为空。

问题二

还有一个问题,有一次我写一个代码如下:method(@requestparam user user),然后报错如下:required xxx parameter 'xxx' is not present

把@requestparam删除就行了

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