Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
serveurscrutari:json:messages [2011/03/21 20:16]
vincent
serveurscrutari:json:messages [2013/04/17 14:42]
vincent JSON des sous-erreurs
Ligne 3: Ligne 3:
 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. 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. ​+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'pas respecté ​la syntaxe, à 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 [[serveurscrutari:​json:​warnings|messages d'​avertissement]].+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 [[serveurscrutari:​json:​warnings|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+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
  
 ===== Clés d'​erreur ===== ===== Clés d'​erreur =====
Ligne 15: Ligne 15:
   * //​missingParameter//​ : le paramètre indiqué est absent alors qu'il est obligatoire   * //​missingParameter//​ : le paramètre indiqué est absent alors qu'il est obligatoire
   * //​emptyParameter//​ : le paramètre indiqué est présent mais vide   * //​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//)   * //​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)
  
  
Ligne 27: Ligne 29:
     parameter: … , // paramètre source de l'​erreur (chaine)     parameter: … , // paramètre source de l'​erreur (chaine)
     value: … , // valeur de paramètre à l'​origine de l'​erreur (optionnel, 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