Lightning Data-Service gibt neue Fehlerwerte zurück

Der Lightning Data-Service zeigt einen Fehler an, wenn der Zugriff auf eine Ressource, beispielsweise einen Datensatz für ein Objekt, auf dem Server nicht möglich ist. Das neue Fehlerobjekt enthält den Antworttext sowie einen Statuscode und die Nachricht.

Wo: Diese Änderung gilt für Organisationen mit Lightning-Webkomponenten in Lightning Experience, Lightning-Communities und allen Versionen der mobilen Anwendung in allen Editionen. Verwenden Sie zum Erstellen einer Lightning-Webkomponente die Enterprise, Performance, Unlimited oder Developer Edition.

Warum: Das neue Fehlerobjekt, das nach dem Antwortobjekt der Fetch-API modelliert wird, besitzt eine einfachere Form zur Unterstützung der UI-API und anderer Salesforce-APIs.

Wie: Zuvor haben Sie die Fehlermeldung mit error.message erfasst und das Fehlerobjekt sah wie folgt aus.

//Before Spring ’19
{
    type: enum<string>;
    message: string;
    details: object;
}

Nun können Sie die Fehlermeldung mit error.body.message oder error.body[].message erfassen, je nachdem, welche API sie zurückgibt. Das Fehlerobjekt wurde wie folgt geändert.

//After Spring ’19
{
    body: object|array;
    ok: boolean;
    status: number;
    statusText: string
}
  • body (Objekt|Array): Der Text der von der zugrunde liegenden API definierten Antwort.
  • ok (Boolescher Wert): Gibt an, ob die Antwort erfolgreich war. ok ist immer auf false festgelegt.
  • status (Nummer): Enthält den Statuscode der Antwort, beispielsweise 404, wenn eine Ressource nicht gefunden wird, oder 500 für einen internen Serverfehler.
  • statusText (Zeichenfolge): Enthält die Statusmeldung, die dem Statuscode entspricht, beispielsweise Nicht gefunden für den Statuscode 404.

Der Fehlerantworttext hängt von der API ab, die ihn zurückgibt.

  • Bei UI-API-Lesevorgängen, beispielsweise beim Kabeladapter getRecord, wird error.body als ein Array von Objekten zurückgegeben.
  • Bei UI-API-Schreibvorgängen, beispielsweise beim Kabeladapter createRecord, wird error.body als Objekt zurückgegeben, und zwar oftmals mit Fehlern auf Objekt- und Feldebene.
  • Apex-Lese- und Schreibvorgänge geben error.body als ein Objekt zurück.
  • Netzwerkfehler, beispielsweise Offline-Fehler, geben error.body als Objekt zurück.