Je suis le tutoriel : Apprendre à développer les services REST avec Spring Boot et Spring RestTemplate https://bnguimgo.developpez.com/tuto...-resttemplate/ et j'ai du mal à comprendre certaines choses.
1. Pourquoi la Classe UserDto se trouve dans la partie serveur et client à la fois:
2. J'aimerai savoir à quoi servent les 2 derniers paramètres User.class et variables concernant cette ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 package com.bnguimgo.springbootrestclient.dto; import java.io.Serializable; import org.hibernate.validator.constraints.NotEmpty; public class UserDto implements Serializable{ private static final long serialVersionUID = 3046638822810400597L; @NotEmpty(message = "Entrez votre login") private String login; @NotEmpty(message = "Entrez un mot de passe") private String password; public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } //Formatage d'un objet en String @Override public String toString() { return String.format("[login=%s, password=%s]", login, password); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part ResponseEntity<User> userExists = restTemplate.getForEntity(configurationService.getUrl() +"user/users/{loginName}", User.class, variables);
3. Le formulaire contenu dans la page loginForm.jsp contient aussi un champ password. Or c'est seulement le login qui est géré lors de la tentative de connexion:
Y a t-il un autre endroit où le password est géré?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 @PostMapping(value = "/login") public ModelAndView login(@Valid @ModelAttribute("userForm") UserDto userForm, BindingResult bindingResult, ModelAndView modelAndView) { modelAndView.setViewName("loginForm"); if (bindingResult.hasErrors()) { return modelAndView; } Map<String, String> variables = new HashMap<String, String>(1); variables.put("loginName", userForm.getLogin()); ResponseEntity<User> userExists = restTemplate.getForEntity(configurationService.getUrl() +"user/users/{loginName}", User.class, variables); User user = userExists.getBody(); if (user == null) {//ceci nous évite d'écrire une page de gestion des erreurs modelAndView.addObject("saveError", "Aucun utilisateur trouvé avec ce compte"); return modelAndView; } modelAndView.setViewName("loginSuccess"); return modelAndView; }
4. A quoi sert le (1) à la fin de cette ligne:
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part Map<String, String> variables = new HashMap<String, String>(1);
Partager