Problème :
Lorsqu'un contrôleur Spring MVC définit un @PathVariable avec une variable de chemin personnalisée argument, les segments de chemin contenant des caractères spéciaux sont tronqués.
Exemple :
@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName}")
Passer un URI avec une variable de chemin blah2010.08.19-02:25:47 entraîne la troncature du paramètre blahName en blah2010.08.
Résolution :
Pour éviter la troncature, utilisez une expression régulière dans l'argument @RequestMapping :
@RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName:.+}")
Le . = regex autorise n'importe quel nombre de caractères (y compris les caractères spéciaux) après le point initial, capturant efficacement l'intégralité du segment de chemin en tant que valeur de variable de chemin. Le request.getRequestURI() renverra alors l'URI complet, y compris le blahName complet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!