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

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

}

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

时间: 2024-11-05 16:03:21

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

PYTHON包安装时发生Unable to find vcvarsall.bat的解决办法

今天遇到了这个方面的问题,目前找到两种办法.一种是换编译器如mingw,另一种是装vc.第一种方法没成功,现在正在等第二种. 第一种: 首先安装MinGW: 把MinGW的路径添加到环境变量path中,比如MinGW安装在D:\MinGW\中,就把D:\MinGW\bin添加到path中: 打开命令行窗口,在命令行窗口中进入到要安装代码的目录下: 输入如下命令就可以安装了.setup.py install build --compiler=mingw32 第二种: 今天在安装pyscopg2库的

SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法

.NET 中 SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法: 一. 1.将项目逐个进行编译,会弹出上面的错误,这时候将项目隐藏的文件全部显示,删除 /bin 和 /obj 目录,重新编译,这个时候上面的错误会减少,剩余几个错误,就说明有几个项目的编译出错. 2.继续按照方法一,去编译其他的项目.注意:删除/bin 和 /obj 目录后再编译. 二. 还有一个地方,也会导致这个错误,在项目文件中,就是

mysql导入时出现&quot;ERROR at line : Unknown command &#39;\&#39;&#39;.&quot;的解决办法

使用mysqldump -uroot -p123456 databases > /home/databases.sql 进行备份 在使用mysql -uroot -p123456 databases  < /home/databases.sql 进行mysql恢复的时候,出现如下报错. ERROR at line 79: Unknown command '\0'. 上述错误,是因为导出时字符集的问题,解决方法如下:--default-character-set=utf8 在导入时加上mysql

cocos2d-x 3.2 for wp8-xaml应用商店提交应用时出现的API错误(不能用CreateEventExA)解决办法

好不容易做完一个游戏,提交到商店显示"本地API不支持CreateEventExA"之类的错误提示 于是我在整个解决方案里查找CreateEventExA,发现没有,却在Audio.h找到了CreateEventEx: StreamingVoiceContext() : hBufferEndEvent(CreateEventEx(NULL, FALSE, FALSE, NULL)) { } 刚开始由于懒,直接注释掉了这些,然后发现运行时出现闪退. 然后我查看CreateEventEx,

win8 远程桌面时提示凭证不工作问题的终极解决办法

原文 win8 远程桌面时提示凭证不工作问题的终极解决办法 环境说明 远程办公电脑(放置于公司.自用办公电脑.win8系统) 远程连接客户机(放置于家中.家庭日常所用.win8系统) 故障现象 最近在使用远程桌面连接公司的办公电脑时,突然发现win8系统总是无法连接成功,提示“你的凭证不工作”,使用其他人的win7的连接也是出现这个问题. 有问题上百度,可百度好久发现千篇一律的做法基本如下所示 一,策略修改法, 1.在“开始”窗口运行gpedit.msc,进入计算机配置->管理模板->系统-&

yum 安装时错误 Errno 14 Couldn&#39;t resolve host 解决办法

是由于DNS解析错误引起的 修改/etc/resolv.conf 添加一个nameserver 8.8.8.8完成 yum 安装时错误 Errno 14 Couldn't resolve host 解决办法

生成JNI的DLL时提示找不到jni.h的解决办法Cannot open include file: &#39;jni.h&#39;: No such file or directory

解决办法: 就是到jdk的安装目录下include下把以下相应的文件,复制到vc目录下的include文件夹下 \jdk\include\jni.h \jdk\include\win32\jawt_md.h \jdk\include\win32\jni_md.h 上面主是jdk安装目录下的三个文件,分别复制它们到vc目录下的include文件夹下.如我的安装位置是: D:\Program Files\Microsoft Visual Studio\VC98\Include 你们可以根据自己的安装

共享windows7网络时出现依赖的组件无法启动的解决办法

共享windows7网络时出现依赖的组件无法启动的解决办法. 一般说来是Remote Procedure Call (RPC).RPC Endpoint Mapper.Remote Procedure Call (RPC) Locator.SNMP Trap.Telephony.Remote Access Connection Manager.Remote Access Auto Connection Manager.Secure Socket Tunneling Protocol Servic

Mybatis:使用bean传值,当传入值为Null时,提示“无效的列类型”的解决办法

问题描述: 在使用mybatis对数据库执行更新操作时,parameterType为某个具体的bean,而bean中传入的参数为null时,抛出异常如下: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='pxh',