Ceci est une ancienne révision du document !


Messages d'erreur

En cas d'erreur de programmation (par exemple, un paramètre obligatoire manquant), le serveur renvoie un objet JSON particulier appelé « message de commande » qui comprend une clé indiquant l'erreur relevée. Un message de commande peut relever plusieurs erreurs à la fois.

Les messages d'erreur sont réservés aux bogues du côté client, tout ce qui est susceptible de découler d'une mauvaise saisie de l'utilisateur n'est pas traitée comme erreur. Par exemple, si l'internaute envoie une séquence de recherche composée de caractères non textuels (par exemple, « “'(\ »), le serveur ne va pas envoyer de messages d'erreur mais simplement un résultat vide. En l'occurence, il renverra un objet ficheSearchResult avec comme qLength = 0. Il revient au client de traiter ce cas et de le signaler à l'internaute.

Autrement dit, tout requête est susceptible de renvoyer deux objets différents : l'objet normalement attendu (ficheSearchResult dans le cas d'une recherche sur les fiches) ou commandMessage en cas d'erreur. Il revient au client de faire un test préalable pour savoir s'il est en présence d'une erreur ou non.

Note : en général, une erreur est envoyée que si elle a lieu sur un paramètre obligatoire. Si elle a lieu sur un paramètre optionnel (par exemple; limit qui n'a pas comme valeur un entier), elle est ignoré et c'est la valeur par défaut du paramètre optionnel qui est traité par le serveur.

Clés d'erreur

Les erreurs susceptibles d'être rencontrées sont les suivantes :

  • missingTypeParameter : le paramètre type n'est pas défini, le serveur ne peut pas comprendre quelle requête est demandée
  • emptyTypeParameter : le paramètre type existe mais est vide
  • wrongTypeParameter : la valeur du paramètre type est incorrecte, cette valeur est rappelée dans la propriété text du message d'erreur
  • missingModeParameter : le paramètre mode n'est pas défini (type=fiche)
  • emptyModeParameter : le paramètre mode est présent mais vide (type=fiche)
  • wrongModeParameter : la valeur du paramètre mode est incorrecte, cette valeur est rappelée dans la propriété text du message d'erreur (type=fiche)
  • missingQFicheParameters : les paramètres obligatoires q et q-id (mutellement exclusifs) sont absents dans la recherche de fiches (type=q-fiche)
  • emptyQIdParameter : paramètre q-id présent mais vide (type=q-fiche)
  • wrongQIdParameter : l'identifiant donné par le paramètre q-id est incorrect car ne correspond pas à une requête enregistrée , cette valeur est rappelée dans la propriété text du message d'erreur(type=q-fiche)

Objet retourné

{
  commandMessage: {
    type: 'error', //à l'heure actuelle, la valeur est toujours 'error'
    key:, // clé identifiant l'erreur (chaine)
    text:, // texte optionnel décrivant l'erreur
    array: [ // en cas d'erreur multiple, tableau avec la liste des erreurs rencontrées, optionnel
      { // chaque erreur est objet
        key:, // clé identifiant l'erreur (chaine)
        text:, // texte optionnel décrivant l'erreur
      },
      ...
    ]
  }
serveurscrutari/json/messages.1300716200.txt.gz · Dernière modification: 2011/03/21 15:03 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0