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 是不行的,因?yàn)槿绻悴恍枰?,這里Spring會給一個Null默認(rèn)值,而你的類型如果是int,那肯定會出錯。
你也可以使用defaultValue,這樣Spring就不會去注入Null值,一樣也不會出錯。
綜上,使用@PathVariable時注意兩點(diǎn):
1:參數(shù)接收類型使用基本類型
2:不用基本類型時,給defaultValue值
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
@RequiredArgsConstructor如何實(shí)現(xiàn)構(gòu)造器注入
這篇文章主要介紹了@RequiredArgsConstructor如何實(shí)現(xiàn)構(gòu)造器注入問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-09-09
java后端如何實(shí)現(xiàn)防止接口重復(fù)提交
這篇文章主要介紹了java后端如何實(shí)現(xiàn)防止接口重復(fù)提交問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
Java實(shí)現(xiàn)京東聯(lián)盟API數(shù)據(jù)獲取功能
這篇文章介紹了Java獲取京東聯(lián)盟API數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
基于Java快速實(shí)現(xiàn)一個簡單版的HashMap詳解
這篇文章主要為大家詳細(xì)介紹了如何利用Java簡單實(shí)現(xiàn)一個底層數(shù)據(jù)結(jié)構(gòu)為數(shù)組?+?鏈表的HashMap,不考慮鏈表長度超過8個時變?yōu)榧t黑樹的情況,需要的可以參考一下2023-02-02
SWT(JFace)體驗(yàn)之模擬BorderLayout布局
SWT(JFace)體驗(yàn)之模擬BorderLayout布局代碼。2009-06-06
http中g(shù)et請求與post請求區(qū)別及如何選擇
這篇文章主要介紹了http中g(shù)et請求與post請求在應(yīng)用中應(yīng)該如何選擇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-09-09
Java設(shè)計(jì)模式中的策略(Strategy)模式解讀
這篇文章主要介紹了Java設(shè)計(jì)模式中的策略(Strategy)模式解讀,對象的某個行為,在不同場景有不同實(shí)現(xiàn)方式,可以將這些行為的具體實(shí)現(xiàn)定義為一組策略,每個實(shí)現(xiàn)類實(shí)現(xiàn)一種策略,在不同場景使用不同的實(shí)現(xiàn),并且可以自由切換策略,需要的朋友可以參考下2023-10-10
springboot+vue+elementsUI實(shí)現(xiàn)分角色注冊登錄界面功能
這篇文章主要給大家介紹了關(guān)于springboot+vue+elementsUI實(shí)現(xiàn)分角色注冊登錄界面功能的相關(guān)資料,Spring?Boot和Vue.js是兩個非常流行的開源框架,可以用來構(gòu)建Web應(yīng)用程序,需要的朋友可以參考下2023-07-07

