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:47
為blah2010.08
,因為它認為.19-02:25:47
是一個文件擴展名。
如鏈接問題中所述,您可以通過DefaultAnnotationHandlerMapping
在應用程序上下文中聲明自己的bean并將其useDefaultSuffixPattern
屬性設置為來禁用此行為false
。這將覆蓋默認行為,并停止騷擾您的數據。
添加回答
舉報
0/150
提交
取消