問題:
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() は、完全な blahName を含む完全な URI を返します。
以上がSpring MVCで@PathVariableの切り捨てを防ぐ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。