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 nommé error à la place de l'objet attendu.

Les erreurs sont envoyées si le le serveur est dans l'incapacité de faire le traitement, elle sont révélatrices de bogues côté client. Une erreur ne devrait jamais avoir lieu du fait de la saisie de l'utilisateur final. Par exemple, si l'utilisateur fait une recherche sur les fiches avec une chaine composée uniquement de caractères spéciaux (« “'(\ »), il ne s'agit pas d'une erreur pour le serveur qui renverra simplement un objet ficheSearchResult avec qLength = 0 (ce qui signifie que la séquence de recherche est vide), à charge pour le client d'alerter l'utilisateur final sur sa saisie incorrecte.

De la même manière, un paramètre optionnel incorrect (par exemple; limit qui n'a pas comme valeur un entier) ne donnera pas lieu à l'envoi d'un message d'erreur car le serveur prend alors la valeur par défaut du paramètre. Ce type d'erreur est géré par les messages d'avertissement.

Une erreur est composé de trois éléments : une clé indiquant la nature de l'erreur, le paramètre concerné par l'erreur, la valeur de paramètre éventuellement à l'origine de l'erreur

Clés d'erreur

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

  • missingParameter : le paramètre indiqué est absent alors qu'il est obligatoire
  • emptyParameter : le paramètre indiqué est présent mais vide
  • unknownParameterValue : la valeur pour le paramètre indiqué est inconnue, cela arrive pour les paramètres dont les valeurs possibles sont fixées (par exemple, les paramètres type et mode) ou s'ils sont censés identifier une ressource particulière (par exemple, q-id)

Objet retourné

{
  error: {
    key:, // clé de l'erreur (chaine)
    parameter:, // paramètre source de l'erreur (chaine)
    value:, // valeur de paramètre à l'origine de l'erreur (optionnel, chaine)
  }
}
serveurscrutari/json/messages.1300734966.txt.gz · Dernière modification: 2011/03/21 20:16 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0