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.
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|