@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) {
相关文章
相关标签/搜索