为了账号安全,请及时绑定邮箱和手机立即绑定

Spring MVC @PathVariable被截断了

Spring MVC @PathVariable被截断了

撒科打诨 2019-08-01 17:34:56
Spring MVC @PathVariable被截断了我有一个控制器,提供对信息的RESTful访问:@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName}")public ModelAndView getBlah(@PathVariable String blahName, HttpServletRequest request,                             HttpServletResponse response) {我遇到的问题是,如果我使用带有特殊字符的路径变量命中服务器,它将被截断。例如: http:// localhost:8080 / blah-server / blah / get / blah2010.08.19-02:25:47参数blahName将是blah2010.08但是,对request.getRequestURI()的调用包含传入的所有信息。知道如何防止Spring截断@PathVariable吗?
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

这可能与SPR-6164密切相关。简而言之,该框架尝试将一些智能应用于URI解释,删除它认为的文件扩展名。这将有转向的效果blah2010.08.19-02:25:47blah2010.08,因为它认为.19-02:25:47是一个文件扩展名。

如链接问题中所述,您可以通过DefaultAnnotationHandlerMapping在应用程序上下文中声明自己的bean并将其useDefaultSuffixPattern属性设置为来禁用此行为false。这将覆盖默认行为,并停止骚扰您的数据。


查看完整回答
反对 回复 2019-08-01
  • 3 回答
  • 0 关注
  • 928 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信