SpringMVC使用@PathVariable接收參數(shù)過程解析
PathVariable 映射 URL 綁定的占位符
帶占位符的 URL 是 Spring3.0 新增的功能,該功能在SpringMVC 向 REST 目標(biāo)挺進(jìn)發(fā)展過程中具有里程碑的意義
通過 @PathVariable 可以將 URL 中占位符參數(shù)綁定到控制器處理方法的入?yún)⒅校篣RL 中的 {xxx} 占位符可以通過@PathVariable(“xxx“) 綁定到操作方法的入?yún)⒅小?/p>
使用MVC時,總是出現(xiàn)一些問題,當(dāng)然都是使用造成的。
今天遇到一個問題,使用@PathVariable接收路徑傳遞來的參數(shù),可是訪問時總是給500錯誤。
網(wǎng)上查了一下,有人說是不能帶點(diǎn)符號,最后確定不是這個問題。
最后看到一個人說,使用@PathVariable時,參數(shù)接收要使用基本類型,比如我的代碼:
@RequestMapping("/{reqKey}/req.do") @ResponseBody public ResponseEntity<String> ordersBack( @PathVariable String reqKey, @RequestParam(value="intVal") Integer intVal, @RequestParam(value="strVal") String strVal) throws Exception{ return new ResponseEntity("ok", HttpStatus.OK); }
這里面的intVal 我寫成了int,現(xiàn)在改為Integer就可以了。
這里你給 required=false 是不行的,因為如果你不需要,這里Spring會給一個Null默認(rèn)值,而你的類型如果是int,那肯定會出錯。
你也可以使用defaultValue,這樣Spring就不會去注入Null值,一樣也不會出錯。
綜上,使用@PathVariable時注意兩點(diǎn):
1:參數(shù)接收類型使用基本類型
2:不用基本類型時,給defaultValue值
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java深入淺出掌握SpringBoot之MVC自動配置原理篇
在進(jìn)行項目編寫前,我們還需要知道一個東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們在之后使用才會更加得心應(yīng)手2021-10-10統(tǒng)一建模語言_動力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了統(tǒng)一建模語言的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的的朋友參考下吧2017-06-06Java實現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫的sql文件
這篇文章主要介紹了Java實現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫的sql文件 的相關(guān)資料,需要的朋友可以參考下2016-03-03SpringBoot實現(xiàn)文件上傳下載功能小結(jié)
最近做的一個項目涉及到文件上傳與下載功能。SpringBoot后臺如何實現(xiàn)文件上傳下載呢?下面有單文件上傳和多文件上傳功能,感興趣的朋友一起看看吧2017-08-08SpringMVC @RequestBody出現(xiàn)400 Bad Request的解決
這篇文章主要介紹了SpringMVC @RequestBody出現(xiàn)400 Bad Request的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04