Optional int parameter 'time' is present but cannot be translated into a null value due to being decla
阿新 • • 發佈:2017-12-03
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