問題:
當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中文網其他相關文章!