10
votes

Variables de chemin optionnelles dans l'uritemplate de DemandeMapping de Spring-MVC

J'ai le mappage suivant:

@RequestMapping(value = "/{first}/{middle:[some regex here?]}/{last}", 
  method = RequestMethod.GET)
public String test(@PathVariable("first") String first, @PathVariable("middle")
  String middle, @PathVariable("last") String last) {}


0 commentaires

4 Réponses :


1
votes

ne peut pas être fait aussi loin que je sache. Tout comme vous l'avez dit, l'expression régulière est appliquée sur l'élément de chemin après avoir séparé le chemin sur chaque barre oblique. L'expression régulière ne peut jamais correspondre à un '/'.

Vous pouvez inspecter manuellement l'URL et l'analyser vous-même de l'objet de la demande.


0 commentaires

1
votes

Cela pourrait être fait en écrivant un correspondeur de chemin personnalisé et en configurant le ressort pour l'utiliser. Par exemple, une telle solution est documentée ici: http: // java. dzone.com/articles/spring-3-webmvc-optional-path

Le lien fournit un correspondeur de chemin personnalisé et montre comment configurer le ressort pour l'utiliser. Cela devrait résoudre votre besoin si cela ne vous dérange pas d'écrire un composant personnalisé.

En outre, il s'agit d'un duplicata de Avec le printemps 3.0, puis-je faire une variable de chemin optionnelle?


0 commentaires

14
votes

Dans mon projet, j'utilise une variable intérieure dans le Springframework: xxx

voir Handlermapping.html # uri_template_variables_attribute


0 commentaires

-1
votes

Essayez d'utiliser cette liste xxx

tableau d'URL d'URL disponible pour une méthode spécifique

mais faites attention à la création de la liste d'URL lorsque vous utilisez @Pathvariable dans votre méthode Signature, il ne peut pas être nul.

espère que cette aide


0 commentaires