@PathVariable 帶"."號傳參的小坑

1、問題 
項目使用SpringBoot時,使用 註解接收參數,前端頁面傳遞參數值爲100.01,可是後臺接收參數爲100,並且經過request去獲取url時就是100.01 ,因此懷疑是該註解注入值致使的,經過網上找了一些資料,發現瞭解決辦法前端

後臺接收的參數java

Controller:spring

@RequestMapping("/toUpper/{amount}")
@ResponseBody
public String toUpper(@PathVariable("amount") String amount) {
  •  

2、解決方案spring-mvc

1.在version段後增長一個靜態的字符段,這個段沒有任何意義,能夠爲任意字符。mvc

URL:app

http://localhost:8070/amount/toUpper/100/suibianjia?t=1517391101418
  •  

代碼ui

@RequestMapping("/toUpper/{amount}/suibianjia")
@ResponseBody
public String toUpper(@PathVariable("amount") String amount) {

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

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

@RequestMapping("/toUpper/{amount:.+}")
@ResponseBody
public String toUpper(@PathVariable("amount") String amount) {
相關文章
相關標籤/搜索