Spring MVC Flashcards
Comment un contrôleur renvoie-t-il des informations à une vue Spring MVC ?
Via un objet Model qui est passé au contrôleur, qui se charge de l’enrichir avec des attributs.
Ces attributs sont ensuite utilisés dans la vue.
Quel est le rôle d’un contrôleur Spring MVC ?
Répondre à des requêtes HTTP pour renvoyer
- soit un modèle qui sera utilisé dans une vue
- soit une réponse HTTP contenant des données (RESTful)
Quelles sont les annotations utilisées par Spring MVC pour déterminer quel contrôleur doit réagir à une requête HTTP ?
@RequestMapping et ses spécialisations:
- @GetMapping
- @PostMapping
- @PutMapping
- @DeleteMapping
- @PatchMapping
Comment la vue envoie-t-elle des données d’un formulaire au contrôleur ?
La méthode du contrôleur concernée par le POST peut prendre en paramètre un objet du domaine.
Comment déclencher la validation des données d’un formulaire ?
L’objet du domaine pris en paramètre par la méthode du contrôleur doit être annotée par @Valid.
Les propriétés de l’objet lui-même peuvent être annotées avec les annotations de l’API Validation (@NotNull, @NotBlank, @Size, @Pattern, @Digits, …)
La méthode du contrôleur peut prendre en paramètre un objet Errors en plus de l’objet du domaine. Cet objet est rempli par la validation et peut-être utilisé par le contrôleur et par la vue.
A quoi sert l’annotation @ModelAttribute ?
https://www.logicbig.com/tutorials/spring-framework/spring-web-mvc/spring-model-attribute-method.html
- Sur une méthode de contrôleur: elle indique à Spring que la méthode est destinée à préparer le modèle. Spring MVC appelle toutes les méthodes ainsi annotées avant d’appeler le handler.
- Sur un paramètre de handler: elle sert à récupérer la valeur dans le modèle et à l’assigner au paramètre