Argomento precedente: Codici di stato HTTP

Argomento successivo: Costruzione dell'URL


Errori

Quando un client riceve un errore 400 o 5XX dalle API di BFC, il payload risultante consiste in un record driver_fault. Il record driver_fault contiene i seguenti campi:

Campo

Contenuto

note

type

string() di client | driver | dipendenza

Indica se l'errore è stato causato dalla richiesta del client, è interno al driver o deriva da una dipendenza (nel qual caso verranno trasmesse informazioni aggiuntive nel campo del motivo, ad esempio il driver_faults nidificato si è generato nella dipendenza).

sottotipo

string() di mancante | conflitto | imprevisto

Indica che la chiamata sta provando un'operazione su una risorsa mancante, causa un conflitto all'interno di BFC (ad esempio creando o aggiornando un'entità che creerebbe un duplicato) o è altrimenti imprevista (l'impostazione predefinita).

Utilizzato dall'API di BFC per facilitare la restituzione di codici di risposta HTTP corretti. Ad esempio, un sottotipo mancante genera un codice di stato HTTP 404, mentre un conflitto genera un codice di stato 403.

codice

string() completa <tenant>/<component_name>.<fault>.

Ad esempio: bbc/grid_service.fault_required_field, bbc/grid_service.fault_runtime_error.

fmt

string() con {integer()} per fare riferimento agli argomenti.

Ad esempio: "Nome griglia {0} non valido". Lo {0} viene sostituito dalla prima voce nel campo degli argomenti.

argomenti

Elenco contenente [number()|string()|string()]

Questi si combinano (mediante sostituzione) con fmt per creare il messaggio di errore.

percorso

[integer()]

Rappresenta il percorso nell'elenco degli argomenti della funzione in cui si trova il problema. Se l'errore è nel secondo valore del terzo argomento, il percorso sarà [2,1]. I valori iniziano da 0, gli argomenti di tupla vengono trattati come elenchi, i record vengono trattati come elenchi ed escludono il primo argomento (il nome del record) nei loro percorsi.

function

nome di string() della funzione (più grado) in chiamata.

Ad esempio: "createGrid/4". Questo esempio indica che la funzione createGrid, che richiede quattro argomenti, è stata chiamata.

dependency_id

integer()

L'ID del componente della dipendenza che ha creato l'errore. Trasmesso quando il driver_fault type = dependency indica che la richiesta sta sfruttando un altro componente o una risorsa esterna per svolgere l'operazione.

motivo

[driver_fault()]

Contiene qualsiasi errore nidificato.

dettagli

string()

Contiene informazioni più dettagliate sull'errore. Ad esempio, l'analisi dello stack.

Nota: tutti i campi contengono il valore JSON nullo quando sono vuoti.