Vorheriges Thema: HTTP-StatuscodesNächstes Thema: URL-Konstruktion


Fehler

Wenn ein Client einen Fehler von 400 oder 5XX von den BFC-APIs empfängt, besteht die sich ergebende Nutzlast aus einem "driver_fault"-Datensatz. Der Datensatz "driver_fault" enthält die folgenden Felder:

Feld

Inhalt

Hinweise

Typ

string() - client | driver | dependency

Kennzeichnet, ob der Fehler durch eine Clientanforderung ausgelöst wurde, ob er treiberintern ist oder ob er durch eine Abhängigkeit entstanden ist (in letzterem Fall werden weitere Informationen im Begründungsfeld übergeben, z. B. die durch die Abhängigkeit generierten verschachtelten "driver_faults").

Untertyp

string() - missing | conflict | unexpected

Kennzeichnet, dass der Anruf versucht, einen Vorgang auf eine fehlende Ressource anzuwenden, dass er einen Konflikt innerhalb des BFC verursacht (z. B. Erstellung oder Aktualisierung einer Entität, wodurch ein Duplikat erzeugt würde) oder dass er andere unerwartete Ereignisse auslöst (Standard).

Dies hilft der BFC-API, richtige HTTP-Antwortcodes zurückzugeben. Beispielsweise generiert ein fehlender Untertyp einen HTTP-Statuscode von 404, während ein Konflikt einen Statuscode von 403 generiert.

code

string() - vollständig qualifizierter <tenant>/<component_name>.<fault>.

Beispiel: bbc/grid_service.fault_required_field, bbc/grid_service.fault_runtime_error.

fmt

string() - mit {integer()} zum Referenzieren der Argumente.

Beispiel: "Ungültiger Grid-Name {0}". Der Platzhalter {0} wird durch den ersten Eintrag im Feld "args" ersetzt.

args

Liste mit [number()|string()|string()]

Diese werden (durch Ersetzung) mit "fmt" kombiniert, um die Fehlermeldung zu erzeugen.

Pfad

[integer()]

Dies kennzeichnet den Pfad zur Funktionsargumentliste, in der das Problem besteht. Wenn der Fehler im zweiten Wert des dritten Arguments vorliegt, wäre der Pfad [2,1]. Die Werte beginnen bei 0 (null). Tupelargumente werden als Listen verarbeitet, Datensätze werden als Listen verarbeitet und schließen das erste Argument (der Name des Datensatzes) in den Pfaden aus.

function

string() - Name der aufgerufenen Funktion (plus Wertigkeit).

Beispiel: "createGrid/4". Dieses Beispiel zeigt, dass die Funktion "createGrid" aufgerufen wurde, die vier Argumente zulässt.

dependency_id

integer()

Die Komponenten-ID der Abhängigkeitskomponente, die den Fehler verursacht hat. Wird übergeben, wenn driver_fault type = dependency kennzeichnet, dass die Anforderung eine andere Komponente oder externe Ressource zum Ausführen des Vorgangs einbezieht.

reason

[driver_fault()]

Enthält alle geschachtelten Fehler.

details

string()

Enthält ausführlichere Informationen über den Fehler, z. B. das Stack-Trace.

Hinweis: Alle Felder enthalten den JSON-Wert null, wenn sie leer sind.