web-dev-qa-db-fra.com

Spring - Contrôleur basé sur des annotations - RequestMapping basé sur une chaîne de requête

Dans le contrôleur basé sur les annotations Spring, est-il possible de mapper différentes chaînes de requête à l'aide de @RequestMapping à différentes méthodes?

Par exemple

@RequestMapping("/test.html?day=monday")
public void writeMonday() {
}


@RequestMapping("/test.html?day=tuesday")
public void writeTuesday() {
}
54
njdeveloper

Oui, vous pouvez utiliser l'élément params :

@RequestMapping("/test.html", params = "day=monday")
public void writeMonday() {
}

@RequestMapping("/test.html", params = "day=tuesday")
public void writeTuesday() {
}

Vous pouvez même cartographier en fonction de la présence ou l'absence d'un paramètre:

@RequestMapping("/test.html", params = "day")
public void writeSomeDay() {
}

@RequestMapping("/test.html", params = "!day")
public void writeNoDay() {
}
79
Hilton Campbell

ou vous pourriez faire quelque chose comme:

@RequestMapping("/test.html")
public void writeSomeDay(@RequestParam String day) {
   // code to handle "day" comes here...
}
51
gu3st