Controller中int类型参数默认返回0

今天在Spring的Controller层中写了一个方法,如下:

@RequestMapping("/time/total")
public Map<?, ?> timeTotal(@RequestParam(value = "type", required = false) int type) {

       if(type == 0){ 
        // doSomethingA
       } else if(type == 1){
        // doSomethingB
       }
}

type作为一个类型判断,取值范围是 0和1,而且type是非必传字段。取值0或1时,分别返回不同类型查询结果,如果不传值,则将两种类型结果都返回。

使用中发现,前端页面不给 type 赋值时,type每次都有默认返回值 0,这就有些尴尬了。经查,int 基础数据类型数据默认值是 0,思考之后,将入参类型改为包装类,如下:

@RequestMapping("/time/total")
public Map<?, ?> timeTotal(@RequestParam(value = "type", required = false) Integer type) {

       if(null != type && type == 0){ 
         // doSomethingA

       } else if(null != type && type == 1){
         // doSomethingB

       } else if(null == type){
         // doSomethingA
         // doSomethingB
       }
}

完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值