300 votes

Comment utiliser plusieurs annotations @RequestMapping dans Spring ?

Est-il possible d'utiliser plusieurs @RequestMapping des annotations sur une méthode ?

Comme :

@RequestMapping("/")
@RequestMapping("")
@RequestMapping("/welcome")
public String welcomeHandler(){
  return "welcome";
}

4voto

CQLI Points 188

Il est préférable d'utiliser l'annotation PathVariable si vous voulez toujours obtenir l'uri qui a été appelé.

@PostMapping("/pub/{action:a|b|c}")
public JSONObject handlexxx(@PathVariable String action, @RequestBody String reqStr){
...
}

ou l'analyser à partir de l'objet de la demande.

2voto

Falcon Points 19

Actuellement, avec Spring-Boot 2.0.4, { } ne fonctionne pas.

@RequestMapping

a toujours String[] comme paramètre de valeur, donc la déclaration ressemble à ceci :

 @RequestMapping(value=["/","/index","/login","/home"], method = RequestMethod.GET)

** Mise à jour - Fonctionne avec Spring-Boot 2.2**

 @RequestMapping(value={"/","/index","/login","/home"}, method = RequestMethod.GET)

1 votes

Les crochets ne sont pas valides. La syntaxe valide pour un littéral de tableau est d'utiliser des crochets {}.

0 votes

@luis.espinal Les crochets ont fonctionné avec la version 2.0.4 Spring-Boot. Je vais mettre à jour mon post.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X