@PathVariable出现点号"."时导致路径参数截断获取不全的解决办法

简介: <div class="markdown_views"><p>1、问题 <br> SpringMVC项目中通过下面的URL进行GET请求。当version有多个小数点的时候。如version为1.0.1008。后台通过@PathVariable来获取version等于1.0。会丢失部分数据。</p><p>URL:</p><pre class="prett

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){

}

终于可以再一次愉悦地进行玩耍了。

目录
相关文章
|
12月前
|
JavaScript
拼接中文参数时,报错is not defined
拼接中文参数时,报错is not defined
32 0
|
存储 C++
C++/PTA 2017final英文语句格式简单检查
英文书写中,句首字母通常为大写,其余为小写,单词“I”除外,单词与单词之间用一个空格隔开,句中用“,”断句,句末用“.”结束,“,”和“.”与其前置单词间无需空格隔开。 Word等文本编辑器通常根据以上规则,对我们输入的英文语句进行自动修正。
89 0
|
前端开发 PHP
TP5 使用strip_tags过滤html标签不起作用的解决方法
TP5 使用strip_tags过滤html标签不起作用的解决方法
281 0
NPAPI中返回一个字串的正确做法
NPAPI中返回一个字串的正确做法
73 0
|
PHP
php保留小数点3种方法,number_format,round和sprintf区分
php保留小数点3种方法,number_format,round和sprintf区分
228 0
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
成功解决 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp” 和 cl: 命令行 error D8021 :无效的数值参数“/Wno-unused-function”
|
Java 程序员 Maven
maven编译遇到&quot;编码GBK的不可映射字符&quot;警告的处理
maven编译会遇到&quot;编码GBK的不可映射字符&quot;的警告,来看看出了啥问题,怎么处理
195 0
maven编译遇到&quot;编码GBK的不可映射字符&quot;警告的处理
方法:怎么将手机号改成vcf格式?
第(1)步:首先你在电脑上打开软件(金芝号码提取导入助手),然后你在电脑上准备好你的号码,号码一个一行一列,把它们复制粘贴到软件的功能模块“导入通讯录”。第(2)步:然后再点软件下方的“转化通讯录”,就可以得到一个vcf文件了,也就是把号码改成了vcf格式。第(3)步:你再把这个vcf文件,从电脑上发给你的手机,在手机上打开,就可以把号码一次性导入通讯录。以上便是:怎么将手机号改成vcf格式?的方法。细节:如果你只有号码,没有姓铭,那么需要复制号码粘贴到软件上的姓铭框那里,号码作为铭字。也就是放两遍号码就可以了。
方法:怎么将手机号改成vcf格式?
${变量:?提示信息}是什么意思?
当待测的变量不存在或者为空时,将返回提示信息,如果待测变量存在,则直接传变量值。
106 0