Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
APIResource
Eine allgemeine API-Ressource für Anfragen basierend auf URLs, die für beliebige HTTP-Schnittstellen geeignet ist. Sie erbt von der Basisklasse FlowResource und erweitert diese um die Konfiguration von Anfragen sowie die Methode refresh(). Im Gegensatz zu MultiRecordResource und SingleRecordResource hängt die APIResource nicht von einem Ressourcennamen ab, sondern stellt Anfragen direkt über die URL. Dies eignet sich für benutzerdefinierte Schnittstellen, Drittanbieter-APIs und andere Szenarien.
Erstellungsmethode: ctx.makeResource('APIResource') oder ctx.initResource('APIResource'). Vor der Verwendung muss setURL() aufgerufen werden. Im RunJS-Kontext wird ctx.api (APIClient) automatisch injiziert, sodass setAPIClient nicht manuell aufgerufen werden muss.
Anwendungsfälle
Funktionen der Basisklasse (FlowResource)
Alle Ressourcen verfügen über folgende Funktionen:
Konfiguration der Anfrage
URL-Format
- Ressourcen-Stil: Unterstützt die NocoBase-Kurzschreibweise für Ressourcen, wie
users:listoderposts:get, die mit derbaseURLkombiniert wird. - Relativer Pfad: Z. B.
/api/custom/endpoint, kombiniert mit derbaseURLder Anwendung. - Vollständige URL: Verwendung vollständiger Adressen für ursprungsübergreifende Anfragen; das Ziel muss CORS konfiguriert haben.
Datenabruf
Beispiele
Einfache GET-Anfrage
URL im Ressourcen-Stil
POST-Anfrage (mit Anfrage-Body)
Auf das refresh-Ereignis hören
Fehlerbehandlung
Benutzerdefinierte Anfrage-Header
Hinweise
- Abhängigkeit von ctx.api: In RunJS wird
ctx.apivon der Umgebung injiziert; ein manuellessetAPIClientist normalerweise nicht erforderlich. Bei Verwendung in einem kontextlosen Szenario müssen Sie dies selbst festlegen. - Refresh bedeutet Anfrage:
refresh()initiiert eine Anfrage basierend auf der aktuellen Konfiguration; Methode, Parameter, Daten usw. müssen vor dem Aufruf konfiguriert sein. - Fehler aktualisieren die Daten nicht: Bei einem Fehler behält
getData()den vorherigen Wert bei; Fehlerinformationen können übergetError()abgerufen werden. - Vergleich mit ctx.request: Verwenden Sie
ctx.request()für einfache, einmalige Anfragen; verwenden SieAPIResource, wenn reaktive Daten, Ereignisse und die Verwaltung des Fehlerzustands erforderlich sind.
Verwandte Themen
- ctx.resource - Die Ressourcen-Instanz im aktuellen Kontext
- ctx.initResource() - Initialisieren und an
ctx.resourcebinden - ctx.makeResource() - Eine neue Ressourcen-Instanz erstellen, ohne sie zu binden
- ctx.request() - Allgemeine HTTP-Anfrage, geeignet für einfache, einmalige Aufrufe
- MultiRecordResource - Für Sammlungen/Listen, unterstützt CRUD und Paginierung
- SingleRecordResource - Für einzelne Datensätze

