Mémo sur comment recevoir des variables de chemin dans Spring et comment les transmettre à la destination de redirection
// (1)
@GetMapping("{name}")
public String detail(@PathVariable String name) {
return "detail";
}
// (2)
@GetMapping("idol/{name}")
public String idolDetail(@PathVariable("name") String idolName) {
return "idol/detail";
}
// (3)
@GetMapping("unit/{unitId}/idol/{idolId}")
public String idolDetail(@PathVariable("unitId") Integer unitId, @PathVariable("idolId") Integer idolId) {
return "idol/detail";
}
Si vous souhaitez utiliser la valeur contenue dans le chemin dans le traitement de la méthode, utilisez la variable de chemin ({nom de la variable}
) comme l'endroit où la valeur que vous souhaitez recevoir est entrée dans l'annotation Mapping, et définissez l'argument correspondant sur @PathVariable. Spécifiez
.
(1) Si le nom de la variable de chemin et le nom de la variable réellement utilisés sont identiques, l'attribut value de @ PathVariable
peut être omis.
(2) Si les noms des variables sont différents, spécifiez le nom de la variable de chemin dans l'attribut value de @ PathVariable
.
(3) Le multiple est possible.
// (1)
@PostMapping("idol/{name}/update")
public String update(@PathVariable String name) {
return "redirect:/idol/{name}";
}
// (2)
@PostMapping("redirect")
public String redirect(RedirectAttributes redirectAttributes) {
redirectAttributes.addAttribute("name", "Jinka Osaki");
return "redirect:/idol/{name}";
}
(1)
Une variable une fois reçue comme variable de chemin peut être transmise telle quelle à la destination de la redirection.
Dans le cas du code ci-dessus, si vous envoyez une requête POST à / idol / Kiriko Yuya / update
, l'URL de la destination de la redirection sera donc / idol / Kiriko Yuya
.
(2)
Si la variable ajoutée en utilisant la méthode ʻaddAttributede RedirectAttributes est incluse dans la variable de chemin de la destination de redirection, elle est développée telle quelle en tant que variable de chemin. Dans le cas ci-dessus, l'URL de destination de la redirection sera
/ idol / Osaki Jinka`.
(2) peut être une simple combinaison de chaînes s'il n'est pas nécessaire de saisir une valeur séparément.
Référence officielle Arguments du contrôleur Spring MVC Présentation détaillée du développement d'applications Spring Java avec Spring Framework
Recommended Posts