首页  >  文章  >  Java  >  如何在 Spring MVC 中防止 @PathVariable 截断?

如何在 Spring MVC 中防止 @PathVariable 截断?

Linda Hamilton
Linda Hamilton原创
2024-10-29 20:42:30306浏览

How to Prevent @PathVariable Truncation in Spring MVC?

解决 Spring MVC 中的 @PathVariable 截断

问题:
当 Spring MVC 控制器使用自定义路径变量定义 @PathVariable 时参数,包含特殊字符的路径段将被截断。

示例:

@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName}")

传递带有路径变量 blah2010.08.19-02:25:47 的 URI 将导致 blahName 参数被截断为 blah2010.08。

解决方案:
要防止截断,请在 @RequestMapping 参数中使用正则表达式:

@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName:.+}")

的 . = 正则表达式允许在前导点后使用任意数量的字符(包括特殊字符),从而有效地将整个路径段捕获为路径变量值。 request.getRequestURI() 将返回完整的 URI,包括完整的 blahName。

以上是如何在 Spring MVC 中防止 @PathVariable 截断?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn