Gestion des exceptions avec Spring
Bonjour,
Je développe en Spring Rest et je souhaiterai remonter les exceptions dans un flux json pour pouvoir ensuite les remonter à mon clients.
Code:
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 38 39 40 41 42 43 44 45 46
| Controller REST:
@RequestMapping(value = "/utilisateur/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Utilisateur>> listerUtilisateur() throws ListerUtilisateurException, Exception{
return ResponseEntity.status(HttpStatus.OK).body(utilisateurServiceWebService.listerUtilisateur());
}
Service:
public List<Utilisateur> listerUtilisateur() throws ListerUtilisateurException, Exception{
List<Utilisateur> listeUtilisateurs = null;
try{
List<UtilisateurEntitie> listeUtilisateursEntitie = utilisateurDao.listerUtilisateur();
listeUtilisateurs = new ArrayList<Utilisateur>();
for(UtilisateurEntitie unUtilisateur : listeUtilisateursEntitie){
Utilisateur utilisateur = new Utilisateur();
utilisateur.setId(unUtilisateur.getIdentifiant());
utilisateur.setNom(unUtilisateur.getNom());
utilisateur.setPrenom(unUtilisateur.getPrenom());
listeUtilisateurs.add(utilisateur);
}
}catch(CannotCreateTransactionException e){
System.out.println(e.getMessage());
throw new ListerUtilisateurException("Erreur d'accès à la base de données !");
}
return listeUtilisateurs;
}
DAO:
@SuppressWarnings("unchecked")
public List<UtilisateurEntitie> listerUtilisateur() throws ListerUtilisateurException, Exception{
List<UtilisateurEntitie> listeUtilisateurs = null;
try{
listeUtilisateurs = (List<UtilisateurEntitie>)sessionFactory.getCurrentSession().createQuery("from UtilisateurEntitie").list();
}
catch(HibernateException e){
throw new ListerUtilisateurException("Aucun utilisateurs trouvé !");
}
catch(Exception e){
throw new ListerUtilisateurException("Erreur grave !");
}
return listeUtilisateurs;
} |
Par exemple, si l'exception indique "Aucune utilisateurs trouvé !", je souhaiterais remonter sa au client mais je vois pas comment faire. On m'a parler des exceptions handler