Heim  >  Artikel  >  Java  >  Wie verhindert man die Kürzung von @PathVariable in Spring MVC?

Wie verhindert man die Kürzung von @PathVariable in Spring MVC?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 20:42:30306Durchsuche

How to Prevent @PathVariable Truncation in Spring MVC?

Auflösen der @PathVariable-Kürzung in Spring MVC

Problem:
Wenn ein Spring MVC-Controller eine @PathVariable mit einer benutzerdefinierten Pfadvariablen definiert Argument, Pfadsegmente, die Sonderzeichen enthalten, werden abgeschnitten.

Beispiel:

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

Die Übergabe eines URI mit einer Pfadvariablen blah2010.08.19-02:25:47 würde Dies führt dazu, dass der blahName-Parameter auf blah2010.08 gekürzt wird.

Lösung:
Um eine Kürzung zu verhindern, verwenden Sie einen regulären Ausdruck im @RequestMapping-Argument:

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

Die . = Regex erlaubt eine beliebige Anzahl von Zeichen (einschließlich Sonderzeichen) nach dem führenden Punkt, wodurch effektiv das gesamte Pfadsegment als Pfadvariablenwert erfasst wird. request.getRequestURI() gibt dann den vollständigen URI zurück, einschließlich des vollständigen blahName.

Das obige ist der detaillierte Inhalt vonWie verhindert man die Kürzung von @PathVariable in Spring MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn