1. 程式人生 > >Optional int parameter 'time' is present but cannot be translated into a null value due to being decla

Optional int parameter 'time' is present but cannot be translated into a null value due to being decla

sla ans con option 接受 not param 不存在 springmvc

今天在操作redis的時候報了這個錯:Optional int parameter ‘time‘ is present but cannot be translated into a null value due to being decla

這句話意思:參數time存在,但是無法將其轉為為null

查看了下原因,time這個字段是用來記錄設置多久時間過期的,

我在service層設置的是Long 類型, 我在Controller 層設置的是long類型,前後設置的不一樣,猜測前後需要設置一致,

於是我就將Contoller 設置為了Long類型,於是就通過了。

但是我在接受前臺傳送過來的參數時,使用Long接收, 在Service層使用long 同樣沒有報錯。

之後我更改為前後都使用long,然後就報錯了。

想了下springmvc在接受參數的時候,如果不存在,那麽會將這個值設置為null,如果你用基本數據類型,

那麽怎麽給其賦值為空呢?

總結:大家以後在springmvc接受參數的時候,盡量不要使用基本數據類型,當然你一定要使用的話,可以把defaultValue加上,這樣就不會報這個錯誤了。

註意:就算你加上required=false, 一樣也是不行的。

Optional int parameter 'time' is present but cannot be translated into a null value due to being decla