zoukankan      html  css  js  c++  java
  • @PathVariable出现点号"."时导致路径参数截断获取不全的解决办法

    1、问题 
    SpringMVC项目中通过下面的URL进行GET请求。当version有多个小数点的时候。如version为1.0.1008。后台通过@PathVariable来获取version等于1.0。会丢失部分数据。
    
    URL:
    
    http://host_ip/consumer/appVersion/phone/android/download/{version}
    1Controller:
    
    @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
    1
    问题虽然解决了,但毕竟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){
    
    }
    
    终于可以再一次愉悦地进行玩耍了。
    --------------------- 
    作者:ibenben.org 
    来源:CSDN 
    原文:https://blog.csdn.net/jrainbow/article/details/46126179 
    版权声明:本文为博主原创文章,转载请附上博文链接!
  • 相关阅读:
    mysql 表分区
    mysql 存储过程和函数
    mysql 主从复制
    nginx 生产中配置记录
    harbor资源管理垃圾回收
    harbor部署
    docker使用nfs 做跨主机存储
    基于Gluster分布式实现docker存储卷
    docker 部署elasticsearch集群
    记一次iptables配置(REJECT --reject-with icmp-host-prohibited)
  • 原文地址:https://www.cnblogs.com/yaowen/p/10069590.html
Copyright © 2011-2022 走看看