Lorsqu'un client reçoit une erreur de type 400 ou 5XX des API de BFC, la charge utile qui en résulte consiste en un enregistrement driver_fault. L'enregistrement driver_fault contient les champs suivants :
|
Champ |
Contenu |
Notes |
|
type |
string() pour client | pilote | dépendance |
Indique si l'erreur est due à la demande du client, interne au pilote ou provient d'une dépendance (auquel cas, des informations supplémentaires seront transmises dans le champ de raison ; par exemple, les enregistrements driver_fault imbriqués générés dans la dépendance). |
|
subtype |
string() pour manquant | conflit | inattendu |
Indique que l'appel tente une opération sur une ressource manquante, provoque un conflit dans BFC (par exemple, en créant ou mettant à jour une entité qui créerait un doublon) ou est inattendu (valeur par défaut). Utilisé par l'API de BFC pour aider à renvoyer des codes de réponse HTTP corrects. Par exemple, un sous-type manquant génère un code de statut HTTP 404 tandis qu'un conflit génère un code de statut 403. |
|
code |
string() complète <tenant>/<component_name>.<fault>. |
Par exemple : bbc/grid_service.fault_required_field, bbc/grid_service.fault_runtime_error. |
|
fmt |
string() avec {integer()} pour référencer les arguments. |
Par exemple : "Nom de grille non valide {0}". La variable {0} est remplacée par la première entrée dans le champ args. |
|
args |
Liste contenant [number()|string()|string()] |
Combinés (par remplacement) à fmt pour créer le message d'erreur. |
|
path |
[integer()] |
Représente le chemin d'accès à la liste d'arguments de fonction où se situe le problème. Si l'erreur porte sur la deuxième valeur du troisième argument, le chemin d'accès doit être [2,1]. Les valeurs démarrent à 0, les arguments de tuple sont considérés comme des listes, les enregistrements sont considérés comme des listes et excluent le premier argument (le nom de l'enregistrement) dans leurs chemins d'accès. |
|
function |
string() avec nom de la fonction (plus arity) appelée. |
Par exemple : "createGrid/4". Cet exemple indique que la fonction createGrid, qui nécessite quatre arguments, a été appelée. |
|
dependency_id |
integer() |
ID du composant de dépendance à l'origine de l'erreur. Transmis lorsque le type de driver_fault = dépendance, indiquant que la demande tire parti d'un autre composant ou d'une ressource externe pour réaliser l'opération. |
|
motif |
[driver_fault()] |
Contient toute erreur imbriquée relative à une panne. |
|
détails |
string() |
Contient des informations plus détaillées sur l'erreur. Par exemple, le suivi de la pile. |
Remarque : Tous les champs contiennent la valeur JSON null lorsqu'ils sont vides.
|
Copyright © 2013 CA.
Tous droits réservés.
|
|