Bonjour
Je suis le tutoriel : Apprendre à développer les services REST avec Spring Boot et Spring RestTemplate https://bnguimgo.developpez.com/tuto...-resttemplate/ et il me semble qu'il y ait des problèmes de compatibilité concernant la méthode findOne et delete qui se trouvent dans UserController.java.
Dans le service User, la méthode findOne(Long) n'est plus disponible et j'ai lu dans les commentaires du tuto qu'il fallait la remplacer par findById et la signature devient "Optional<User> getUserById(Long id) throws BusinessResourceException;". Et ça marche.
Maintenant dans la Class UserController.java , je suis obligé de changer :
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part User userToUpdate = userService.getUserById(id);
Sauf que les méthodes getRoles, setLogin, setPassword, setActive, saveOrUpdateUser me génèrent des erreurs du genre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Optional<User> userToUpdate = userService.getUserById(id);
The method getRoles() is undefined for the type Optional<User>
Ensuite concernant la méthode delete:
j'ai ce message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 @Override @Transactional(readOnly=false) public void deleteUser(Long id) throws BusinessResourceException { try{ userRepository.delete(id); }catch(Exception ex){ throw new BusinessResourceException("Delete User Error", "Erreur de suppression de l'utilisateur avec l'identifiant: "+id, HttpStatus.INTERNAL_SERVER_ERROR); } }
Par quelle méthode dois-je la remplacer pour régler ce problème?The method delete(User) in the type CrudRepository<User,Long> is not applicable for the arguments (Long)
Merci
Partager