springmvd接收参数问题
生活随笔
收集整理的這篇文章主要介紹了
springmvd接收参数问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問題描述:
好久不寫博客了,今天遇到一個(gè)問題,那就是post請求時(shí),參數(shù)接收不到,當(dāng)時(shí)我很納悶,看代碼:
就是這樣幾個(gè)參數(shù),我使用postman請求時(shí)無法獲取參數(shù):
?
報(bào)錯(cuò)信息:
"msg":"Optional int parameter 'tableId' is present but cannot be translated into a null value due to
后來上網(wǎng)查了相關(guān)資料:
接口測試的時(shí)候遇到了一個(gè)問題,導(dǎo)致測試阻斷了好久,在此記錄,謹(jǐn)防忘記。 具體報(bào)錯(cuò)如下: Optional int parameter 'pId' is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type. 歸根結(jié)底就是參數(shù)類型錯(cuò)誤了: 可選的參數(shù) pId不存在,但無法被轉(zhuǎn)換為NULL,是因?yàn)槟惆阉o定義為 基本類型。建議將其修改為 包裝類型。 就是說,你定義了參數(shù):String pId,但沒有值,那按理來說按照null來處理,結(jié)果倒霉的事情來了:pId= null; 是不允許的,因?yàn)榛A(chǔ)類型不能賦值為null。 所以建議把參數(shù)定義修改為Inteter pId. 那為啥用Integer可以,用int不行呢,原因如下: Integer 允許為null值,int默認(rèn)0,數(shù)據(jù)庫里面如果有個(gè)字段沒有值可能默認(rèn)值為null,所以用Integer。 在hashmap中只能用Integer而不能用int int是基本數(shù)據(jù)類型,定義一個(gè)整型數(shù)據(jù)。Integer是一個(gè)類,在hashmap中代表一個(gè)對象,所以用object表示。解決方案:
后來我這么改還是報(bào)錯(cuò),我想我可能將參數(shù)放錯(cuò)地方了
?
轉(zhuǎn)載于:https://www.cnblogs.com/AlanWilliamWalker/p/10779398.html
總結(jié)
以上是生活随笔為你收集整理的springmvd接收参数问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到妈妈剪头发是什么意思
- 下一篇: 梦到一条大蛇一条小蛇是怎么回事