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


今天在操作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, 一樣也是不行的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM