IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Comment gérer de manière propre les retours indésirables des méthodes de service ?


Sujet :

Langage Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Points : 126
    Points
    126
    Par défaut Comment gérer de manière propre les retours indésirables des méthodes de service ?
    Bonjour et bon,ne année a tous !

    Je suis entrain de développer la couche métier de mon application et j'aimerai profiter de vos expérences pour savoir vos bonnes pratiques en matière de gestion des retours indésirables des méthodes de services.

    Voici mon code très simple

    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
        @Autowired
        RightRepository rightRepository;
        @Autowired
        RoleRepository roleRepository;
     
     
        @Override
        public Role createRole(Role role) {
            if(!checkRoleNameAlreadyExist(role.getName())){
                return roleRepository.save(role);
            }else{
     
            }
        }
     
        @Override
        public boolean checkRoleNameAlreadyExist(String name) {
            return (roleRepository.findByName(name) != null );
        }
    Je stock en base de données un objet rôle ou le nom est unique.
    Dans ma couche de service je fais donc un check pour savoir si un rôle avec ce nom existe déjà.
    Si il n'existe pas je le crée sinon ... on arrive au sujet du post

    D'habitude je gère avec des exceptions mais je ne trouve pas cette méthode propre.
    Je veux récupérer le rôle nouvellement crée donc je dois renvoyer un objet rôle et par conséquent je ne peux pas renvoyer un string du style "ok" ou "existe déjà"

    Je m'en remets à vous
    Pour une bonne résolution :
    - N'hésitez pas à donner le maximum d'informations sur vos problèmes, ca vous fera gagner du temps en évitant les aller-retours.
    - Si vous utilisez maven, pensez à rajouter votre pom !

    --> Le meilleur code est celui qui concrétise ce qui a été posé et analysé sur le papier

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Qu'est-ce qui ne te plaît pas dans le fait de lancer une exception? Cette méthode est supposée créer un nouveau Role, si elle n'y arrive pas, il n'y a que deux possibilité: renvoyer null, qui ne founris aucune information utile et nécessite de faire des check spécifiques par la suite du coté de l'appelant, ou lancer une exception checkée, ce qui force l'appelant à en tenir compte.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Points : 126
    Points
    126
    Par défaut
    En fait c'est qu'avec cette méthode, si l'on souhaite être rigoureux, il faut une exception par type d'erreur.

    Par exemple si j'ai une classe Membre et que l'email, le pseudo et son numéro de carte d'identité sont uniques.
    Alors il faut une exception pour chacun des champs uniques car le traitement de l'unicité ne fera peux être pas apparaître le même résultat à l'utilisateur en fonction de son pseudo ou de son email.

    Tu va me dire que c'est pas le nombre de classe qui importe mais ca va faire beaucoup de code pour traiter le cas.

    D’où ma question sur le fait si il existe d'autres moyens
    Pour une bonne résolution :
    - N'hésitez pas à donner le maximum d'informations sur vos problèmes, ca vous fera gagner du temps en évitant les aller-retours.
    - Si vous utilisez maven, pensez à rajouter votre pom !

    --> Le meilleur code est celui qui concrétise ce qui a été posé et analysé sur le papier

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Une Exception c'est aussi une classe normale.

    Tu as qu'à mettre dedans tout ce dont tu as besoin pour décrire l'erreur, pas besoin d'en créer une nouvelle pour chaque possibilité. Et il est aussi possible de créer une hiérarchie d'Exceptions, pour celles qui ne se décriraient pas pareil.

    Par exemple, PneuCreuvéException et MoteurExploséException sont des sous-classes de VoitureException et peuvent être traitées par un catch(VoitureException e)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Comment se proteger contre les retours 'abusifs' des CD
    Par sp2308 dans le forum Petites annonces
    Réponses: 9
    Dernier message: 18/01/2013, 14h35
  2. Réponses: 13
    Dernier message: 25/05/2010, 07h44
  3. Gérer de manière automatique les journaux de logs
    Par Arnard dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 05/03/2010, 15h04
  4. Réponses: 1
    Dernier message: 25/09/2008, 20h33
  5. [MySQL] Comment lister de manière numérotée les lignes d'une table
    Par méphistopheles dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 24/12/2006, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo