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時(shí),總是出現(xiàn)一些問題,當(dāng)然都是使用造成的。
今天遇到一個(gè)問題,使用@PathVariable接收路徑傳遞來的參數(shù),可是訪問時(shí)總是給500錯(cuò)誤。
網(wǎng)上查了一下,有人說是不能帶點(diǎn)符號,最后確定不是這個(gè)問題。
最后看到一個(gè)人說,使用@PathVariable時(shí),參數(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 是不行的,因?yàn)槿绻悴恍枰?,這里Spring會(huì)給一個(gè)Null默認(rèn)值,而你的類型如果是int,那肯定會(huì)出錯(cuò)。
你也可以使用defaultValue,這樣Spring就不會(huì)去注入Null值,一樣也不會(huì)出錯(cuò)。
綜上,使用@PathVariable時(shí)注意兩點(diǎn):
1:參數(shù)接收類型使用基本類型
2:不用基本類型時(shí),給defaultValue值
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java深入淺出掌握SpringBoot之MVC自動(dòng)配置原理篇
在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們在之后使用才會(huì)更加得心應(yīng)手2021-10-10統(tǒng)一建模語言_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了統(tǒng)一建模語言的相關(guān)知識,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-06-06Java實(shí)現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫的sql文件
這篇文章主要介紹了Java實(shí)現(xiàn)把excel xls中數(shù)據(jù)轉(zhuǎn)為可直接插入數(shù)據(jù)庫的sql文件 的相關(guān)資料,需要的朋友可以參考下2016-03-03SpringBoot實(shí)現(xiàn)文件上傳下載功能小結(jié)
最近做的一個(gè)項(xiàng)目涉及到文件上傳與下載功能。SpringBoot后臺如何實(shí)現(xiàn)文件上傳下載呢?下面有單文件上傳和多文件上傳功能,感興趣的朋友一起看看吧2017-08-08SpringMVC @RequestBody出現(xiàn)400 Bad Request的解決
這篇文章主要介紹了SpringMVC @RequestBody出現(xiàn)400 Bad Request的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04