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

Android Discussion :

Code erreur HTTP


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut Code erreur HTTP
    Bonjour,

    J'ai effectué une application android qui va communiquer avec un serveur qui va effectuer du traitement sur une base de donnée.

    La question est-celle-ci: les codes erreurs HTTP 200 ... sont gérer par le développeur du site web ou c'est généré automatiquement dans la couche basse.

    Par exemple , je vais effectuer une requête POST avec un paramètre qui se trouve être un numéro de Livre .

    Je souhaiterais que le serveur me réponde par un code retour si la requête est correcte puis par un autre code si le livre existe ou pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    StatusLine statusLine = response.getStatusLine();
    if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
     
    }
    Pouvez vous me dire comment c'est gérer?

    Merci.

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Les codes de retours HTTP sont comme leur nom l'indiques liées au protocole HTTP.
    Y inclure des règles métiers va plus te pertuber qu'autre chose, du style du ne saura pas si c'est une erreur de communication ou une erreur du métier.
    Il vaut mieux, à mon sens, que tu analyses plutôt le résultat (si la communication s'est bien déroulé) afin de savoir si ta requête post à bien été pris en compte par le serveur.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    si le code retour est 200, le serveur doit m'envoyer du json ou xml par exemple (résultat de la requête).

  4. #4
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    oui c'est ça

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 141
    Par défaut
    ça dépend si tu fais du restfull le code HTTP a son importance.

    ex : 404 = ressource not found veut dire que l’élément que tu recherches n'existe pas !

    C'est bcp plus parlant que d'avoir 200 = ok, mais je regarde le message pour voir que l'objet n'a pas été trouvé

    Mieux, si tu t'interface avec un portail qui nécessite une authent. Si l'authent
    renvoie toujours 200, t'es comme un con a parser la réponse... alors qu'avec un code 401, ben là c'est plus clair.

    Bon après chacun voit midi à sa porte

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Je suis "presque" d'accord.

    On a effectivement 3 couches, à chaque couche ses erreurs
    TCP/IP (IOException)
    HTTP (200,404,500, ... StatusLine)
    APPLICATION (à définir par l'applicatif)

    Sauf que la couche HTTP est "prévue" pour fournir des informations applicatives (statuts 200,201,300,400,401,403,406,...). Et il serait bête de ne pas les utiliser pour cela.

    Par exemple, si on parle de "REST" par exemple, l'URL décrit un livre, si ce livre n'existe pas le serveur DOIT retourner 404.
    401/403 pour des problemes d'authentification.
    406 si il ne peut pas fournir le type de rendu désiré (JSON par exemple)
    etc...

    Sans oublier 400, l'appelant a fait une bourde dans sa syntaxe !

    Les codes retours HTTP doivent être pris en compte de toute manière...
    200-299 => ok ca s'est bien passé
    300-399 => ok, mais c'est pas complet
    400-499 => pas ok, c'est un probleme coté application
    500-599 => pas ok, c'est un probleme coté serveur

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    542
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 542
    Par défaut
    Si je souhaite juste tout simplement vérifier si un livre est présent ou pas,

    Je peux me fier uniquement sur le code retour 404.

    Concernant l'envoi de donné, est-ce que le code 200 suffit pour dire que cela a été transmis?

Discussions similaires

  1. [IIS 7.5] Erreur HTTP 500.19, code erreur 0x80070021
    Par a-ternet dans le forum IIS
    Réponses: 2
    Dernier message: 07/06/2017, 14h06
  2. [AJAX] Le bon code d'erreur HTTP
    Par fredoche dans le forum AJAX
    Réponses: 2
    Dernier message: 23/08/2013, 11h17
  3. [Tomcat][Eclipse] erreur http 404 à l'exécution de servlet
    Par mayjo dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 30/07/2004, 18h19
  4. [Htaccess] Gérer les erreurs HTTP du type 404...
    Par Marshall_Mathers dans le forum Apache
    Réponses: 4
    Dernier message: 01/07/2004, 10h29
  5. [Kylix] code erreur :-10 :(
    Par maamar dans le forum EDI
    Réponses: 2
    Dernier message: 21/09/2003, 01h15

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