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.

Une erreur est envoyée si le le serveur est dans l'incapacité de faire le traitement avec les paramètres transmis. Elle est généralement révélatrice d'un bogue côté client mais une erreur peut aussi être due à une mauvaise saisie de l'utilisateur dans le cas de la recherche avancée lorsque l'utilisateur n'a pas respecté la syntaxe, à charge pour le client d'alerter l'utilisateur final sur sa saisie incorrecte.

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 signalé au client 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. Elle peut également comporte un détail précisant l'erreur sous la forme d'un tableau d'erreurs complémentaires.

Une erreur peut être complétée par des avertissements s'ils ont eu lieu avant que l'erreur se produise comme indiqué à la page Messages d'avertissement.

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
  • malformedParameterValue : la forme du paramètre est incorrecte (par exemple, un mauvais code de langue)
  • 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)
  • badOperationSyntax : la syntaxe de l'opération de recherche est incorrecte (cas des recherches avancées)

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)
    array: [//tableau des erreurs détaillant l'erreur principale
      {  // chaque erreur est un objet
        key:, // clé de l'erreur (chaine)
        value:// valeur à l'origine de l'erreur (optionnel, chaine)
      }
    ]
  }
}
serveurscrutari/json/messages.txt · Dernière modification: 2013/04/17 15:06 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0