Spring Boot @PathVariable出現點號"."時導致路徑參數截斷獲取不全的解決辦法

@PathVariable出現點號"."時導致路徑參數截斷獲取不全的解決辦法

時間:2015-05-28 17:59:54      閱讀:756      評論:0      收藏:0[點我收藏+]

標籤:springmvc   pathvaria   小數點      參數不全   

1、問題 
SpringMVC項目中通過下面的URL進行GET請求。當version有多個小數點的時候。如version爲1.0.1008。後臺通過@PathVariable來獲取version等於1.0。會丟失部分數據。

URL:

http://host_ip/consumer/appVersion/phone/android/download/{version}

Controller:

@RequestMapping(value="android/download/{version}",method=RequestMethod.GET)public void download(HttpSession session,HttpServletResponse response,@PathVariable("version")String version){}

2、解決方案

在version段後增加一個靜態的字符段,這個段沒有任何意義,可以爲任意字符。

URL:

http://host_ip/consumer/appVersion/phone/android/download/{version}/static_str

問題雖然解決了,但畢竟URL後多了個小尾巴,心情不愉悅。 
再次谷哥。 
參考: 
http://stackoverflow.com/questions/3526523/spring-mvc-pathvariable-getting-truncated

URL不加小尾巴。

在@RequestMapping的value中使用SpEL來表示,value中的{version}換成{version:.+}。

@RequestMapping(value="android/download/{version:.+}",method=RequestMethod.GET)public void download(HttpSession session,HttpServletResponse response,@PathVariable("version")String version){}

終於可以再一次愉悅地進行玩耍了。


 
發佈了35 篇原創文章 · 獲贊 15 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章