Spring MVC @PathVariable被截?cái)嗔宋矣幸粋€(gè)控制器,提供對(duì)信息的RESTful訪問(wèn):@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName}")public ModelAndView getBlah(@PathVariable String blahName, HttpServletRequest request,
HttpServletResponse response) {我遇到的問(wèn)題是,如果我使用帶有特殊字符的路徑變量命中服務(wù)器,它將被截?cái)?。例如?nbsp;http:// localhost:8080 / blah-server / blah / get / blah2010.08.19-02:25:47參數(shù)blahName將是blah2010.08但是,對(duì)request.getRequestURI()的調(diào)用包含傳入的所有信息。知道如何防止Spring截?cái)郂PathVariable嗎?
3 回答
幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個(gè)贊
這可能與SPR-6164密切相關(guān)。簡(jiǎn)而言之,該框架?chē)L試將一些智能應(yīng)用于URI解釋,刪除它認(rèn)為的文件擴(kuò)展名。這將有轉(zhuǎn)向的效果blah2010.08.19-02:25:47為blah2010.08,因?yàn)樗J(rèn)為.19-02:25:47是一個(gè)文件擴(kuò)展名。
如鏈接問(wèn)題中所述,您可以通過(guò)DefaultAnnotationHandlerMapping在應(yīng)用程序上下文中聲明自己的bean并將其useDefaultSuffixPattern屬性設(shè)置為來(lái)禁用此行為false。這將覆蓋默認(rèn)行為,并停止騷擾您的數(shù)據(jù)。
