Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
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.
| Szenario | Beschreibung |
|---|---|
| Benutzerdefinierte Schnittstelle | Aufruf nicht standardisierter Ressourcen-APIs (z. B. /api/custom/stats, /api/reports/summary). |
| Drittanbieter-API | Abfrage externer Dienste über eine vollständige URL (erfordert CORS-Unterstützung durch das Ziel). |
| Einmalige Abfrage | Temporäres Abrufen von Daten, die nach der Verwendung verworfen werden und nicht an ctx.resource gebunden werden müssen. |
| Abwägung zwischen APIResource und ctx.request | Verwenden Sie APIResource, wenn reaktive Daten, Ereignisse oder Fehlerzustände benötigt werden; verwenden Sie ctx.request() für einfache, einmalige Anfragen. |
Alle Ressourcen verfügen über folgende Funktionen:
| Methode | Beschreibung |
|---|---|
getData() | Ruft die aktuellen Daten ab. |
setData(value) | Setzt die Daten (nur lokal). |
hasData() | Prüft, ob Daten vorhanden sind. |
getMeta(key?) / setMeta(meta) | Lesen/Schreiben von Metadaten. |
getError() / setError(err) / clearError() | Verwaltung des Fehlerzustands. |
on(event, callback) / once / off / emit | Abonnieren und Auslösen von Ereignissen. |
| Methode | Beschreibung |
|---|---|
setAPIClient(api) | Legt die APIClient-Instanz fest (in RunJS normalerweise automatisch injiziert). |
getURL() / setURL(url) | URL der Anfrage. |
loading | Lesen/Schreiben des Ladestatus (get/set). |
clearRequestParameters() | Löscht die Anfrageparameter. |
setRequestParameters(params) | Zusammenführen und Festlegen von Anfrageparametern. |
setRequestMethod(method) | Legt die Anfragemethode fest (z. B. 'get', 'post', Standard ist 'get'). |
addRequestHeader(key, value) / removeRequestHeader(key) | Anfrage-Header. |
addRequestParameter(key, value) / getRequestParameter(key) / removeRequestParameter(key) | Hinzufügen, Löschen oder Abfragen einzelner Parameter. |
setRequestBody(data) | Anfrage-Body (verwendet bei POST/PUT/PATCH). |
setRequestOptions(key, value) / getRequestOptions() | Allgemeine Anfrageoptionen. |
users:list oder posts:get, die mit der baseURL kombiniert wird./api/custom/endpoint, kombiniert mit der baseURL der Anwendung.| Methode | Beschreibung |
|---|---|
refresh() | Initiiert eine Anfrage basierend auf der aktuellen URL, Methode, Parametern, Headern und Daten. Schreibt die Antwort-data in setData(data) und löst das Ereignis 'refresh' aus. Im Fehlerfall wird setError(err) gesetzt und ein ResourceError geworfen, ohne das refresh-Ereignis auszulösen. Erfordert, dass api und URL konfiguriert sind. |
ctx.api von der Umgebung injiziert; ein manuelles setAPIClient ist normalerweise nicht erforderlich. Bei Verwendung in einem kontextlosen Szenario müssen Sie dies selbst festlegen.refresh() initiiert eine Anfrage basierend auf der aktuellen Konfiguration; Methode, Parameter, Daten usw. müssen vor dem Aufruf konfiguriert sein.getData() den vorherigen Wert bei; Fehlerinformationen können über getError() abgerufen werden.ctx.request() für einfache, einmalige Anfragen; verwenden Sie APIResource, wenn reaktive Daten, Ereignisse und die Verwaltung des Fehlerzustands erforderlich sind.ctx.resource binden