Rubrique précédente: Codes de statut HTTPRubrique suivante: Construction URL


Erreurs

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.