1 pièce(s) jointe(s)
Méthodes findOne et delete non reconnues
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 :
Code:
User userToUpdate = userService.getUserById(id);
par
Code:
Optional<User> userToUpdate = userService.getUserById(id);
Sauf que les méthodes getRoles, setLogin, setPassword, setActive, saveOrUpdateUser me génèrent des erreurs du genre:
Citation:
The method getRoles() is undefined for the type Optional<User>
Pièce jointe 533934
Ensuite concernant la méthode delete:
Code:
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);
}
} |
j'ai ce message d'erreur:
Citation:
The method delete(User) in the type CrudRepository<User,Long> is not applicable for the arguments (Long)
Par quelle méthode dois-je la remplacer pour régler ce problème?
Merci