0
votes

Java API renvoyant en option

Je communique avec une API et j'ai utilisé l'utilisation de la classe en option . Mais je me sens comme si le traitement des erreurs pourrait être plus élégant, de sorte que toutes les suggestions sur la manière d'améliorer cela seront bien reçues. Je manque également une manipulation d'exception dans les appels d'API réels? XXX


0 commentaires

3 Réponses :


1
votes

Vous pouvez utiliser une vérification à l'aide de en option.ispresent ()

ou

Utiliser en option.orelSethrow (fournisseur exceptionsUpplier)

lire JDK8 DOC sur la facultative ici

En outre, vous voudrez peut-être couper vos paramètres d'entrée avant de rechercher des chaînes vides


0 commentaires

3
votes

Le problème principal avec votre code: vous jetez beaucoup de résultats très différents dans le même "godet".

getMarketPlacecustomerIDBYUSName () par exemple renvoie un vide optionnel lorsque:

  • Le nom d'utilisateur est NULL
  • Le nom d'utilisateur est "" (et réfléchissez-y "" signifie vide, mais "" n'est pas vide ?!)
  • No AWSMARKETPLACITER L'instance peut être trouvée pour l'utilisateur donné

    Comme dit, ce sont des problèmes très différents problèmes. Le premier peut indiquer: le nom d'utilisateur fourni est mauvais, vous devez donc le dire à votre utilisateur. Le dernier signifie: "Quelque chose est louche, peut-être que l'utilisateur est inconnu ou quelque chose d'autre est arrivé".

    Ainsi: envisagez de ne pas réduire les différents résultats dans une option vide. Considérez plutôt de lancer (différent?) Exceptions. Vous utilisez facultatif lorsque "Aucun résultat" est un résultat valide de l'opération. Mais "Aucun résultat, parce que le mauvais nom d'utilisateur" ne se sent pas comme un résultat valide.


0 commentaires