REST-Objekt im Jitterbit App Builder
Übersicht
REST-Objekte ermöglichen App Builder Entwickler können REST- APIs auf ähnliche Weise nutzen wie App Builder Datenobjekte. REST-Objekte unterstützen Folgendes:
- CRUD-Operationen
- Integration mit verschiedenen App Builder Steuerelemente wie mehrzeilige/einzeilige Bedienfelder, Listen
- Benutzerdefinierte Ereignisse
- Sortieren
- Filtern (Abfrage im OData-Stil)
Für REST- APIs, die CRUD-Operationen unterstützen, kann die Konfiguration eines REST-Objekts eine einfache Möglichkeit sein, eine API in Ihre App Builder App.
CRUD Endpoints
Für eine REST- API im CRUD-Stil möchten Sie Endpoints konfigurieren, die das Erstellen, Lesen, Aktualisieren und Löschen von Datensätzen ermöglichen. Im Allgemeinen bedeutet dies, die folgenden Endpoints einzurichten:
Vorgang | Methode | Beispiel URL |
---|---|---|
Erstellen | POST an eine Sammlungsressource | https://api.example.com/rest/v1/customers |
Lesen | Von einer Sammlungsressource abrufen | https://api.example.com/rest/v1/customers |
Aktualisieren | PUT oder POST an eine Artikelressource | https://api.example.com/rest/v1/customers/<customerId> |
Löschen | LÖSCHEN aus einer Artikelressource | https://api.example.com/rest/v1/customers/<customerId> |
App Builder REST- API Beispielkonfiguration
Die folgenden Schritte zeigen, wie Sie CRUD- Endpoints konfigurieren für an App Builder REST-Server. In diesem Beispiel gehen wir davon aus, dass eine Tabelle wie diese existiert:
Spalte | Attribute | Logischer Typ |
---|---|---|
Kunden-ID | Primärschlüssel | Zeichenfolge |
Name | Zeichenfolge | |
Aktive Tage | Ganzzahl |
Diese REST- API wird vom Endpoint „Northwinds“ als Ressource namens „Customers“ bereitgestellt. Die URL zum Aufrufen dieses Endpoint wäre daher:
https://api.example.com/rest/v1/northwinds/customers
Stellen Sie sicher, dass Sie die REST- API auf Ihrem Server eingerichtet und die REST-Datenquelle erstellt haben, bevor Sie fortfahren.
Lese Endpoint
- Navigieren Sie zu IDE > Datenserver > Ihr REST-Datenserver > Details
- Klicken Sie im Bereich Endpoint auf + Endpoints und konfigurieren Sie die folgenden Informationen:
- Name: Kunden (erhalten)
- Endpoint: Kunden
- Methode: GET
- Klicken Sie auf Speichern
- Klicken Sie auf Entdecken
- Zurück zur vorherigen Seite
- Wählen Sie Ihren customers (get)- Endpoint
- Beachten Sie, dass es drei Ausgabetabellen gibt
- Doppelklicken Sie auf die Tabelle customers (get)/items
- Legen Sie die Spalte customerId als Primärschlüssel fest
- Stellen Sie sicher, dass die Spalten den erwarteten Speichertyp verwenden
- Klicken Sie auf Ergebnisse und überprüfen Sie, ob die zurückgegebenen Daten Ihren Erwartungen entsprechen.
Erstellen
- Navigieren Sie zu IDE > Datenserver > Ihr REST-Datenserver > Details
-
Klicken Sie im Bereich Endpoint auf + Endpoints und konfigurieren Sie die folgenden Informationen
- Name: Kunden (einfügen)
- Endpoint: Kunden
- Methode: POST
-
Beispiel-Eingabe - App Builder erwartet die Eingabe im folgenden Format:
{ "item": { "customerId": "abcde", "name": "Test Customer", "daysActive": 10 } }
-
Klicken Sie auf Speichern
- Klicken Sie auf Ermitteln
- Beachten Sie, dass das mehrmalige Klicken auf „Ermitteln“ zu einer Verletzung des Primärschlüssels führen kann, da der Datensatz „abcde“ bereits auf dem Server vorhanden ist. In diesem Fall müssen Sie den vorhandenen Datensatz löschen, bevor „Ermitteln“ funktioniert. Löschen Sie entweder den Datensatz auf dem App Builder REST- API Server oder Einrichten und Importieren des Endpoint„Löschen“.
- Zurück zur vorherigen Seite
- Wählen Sie Ihren Kunden (einfügen) Endpoint
- Doppelklicken Sie auf die Tabelle Kunden (Einfügen)
- Legen Sie die Spalte customerId als Primärschlüssel fest
- Legen Sie die Spalten customerId, name und daysActive auf die Richtung Input/Output fest.
- Wenn wir einen Datensatz erstellen, übergeben wir alle drei Spalten (Eingabe). Die App Builder Der REST API Server gibt diese Spalten im zurückgegebenen JSON (Ausgabe) wieder. Wenn der Server aus irgendeinem Grund einen anderen Wert zurückgibt, als wir gesendet haben (möglicherweise Formatierung einer Zeichenfolge), möchten wir, dass unser Datensatz die zurückgegebenen Werte enthält.
- Stellen Sie sicher, dass die Spalten den erwarteten Speichertyp verwenden
Aktualisieren
- Navigieren Sie zu IDE > Datenserver > Ihr REST-Datenserver > Details
- Klicken Sie im Bereich Endpoint auf + Endpoints und konfigurieren Sie die folgenden Informationen
- Name: Kunden (Update)
- Endpoint: Kunden/{{item/customerId}}
- Methode: POST
-
Beispieleingabe - {{nm.ab}} erwartet die Eingabe im folgenden Format:
{ "item": { "customerId": "abcde", "name": "Test Customer (updated)", "daysActive": 10 } }
-
Klicken Sie auf Speichern
- Klicken Sie auf Entdecken
- Zurück zur vorherigen Seite
- Wählen Sie Ihren Kunden (Update)- Endpoint
- Doppelklicken Sie auf die Tabelle Kunden (Update)
- Legen Sie die Spalte customerId als Primärschlüssel fest
- Legen Sie die Spalten customerId, name und daysActive auf die Richtung Input/Output fest.
- Stellen Sie sicher, dass die Spalten den erwarteten Speichertyp verwenden
REST-Objekt
Sobald Ihre CRUD- Endpoints konfiguriert wurden, können Sie das REST-Objekt erstellen.
REST-Objekt erstellen
- Navigieren Sie zu IDE > Datenserver > Ihr REST-Datenserver > Details
- Klicken Sie auf Mehr > Superobjekte
- Klicken Sie auf + REST-Objekt
- Benennen Sie Ihr REST-Objekt... wir nehmen an, es ist Kunden
- Klicken Sie auf das Häkchen-Symbol, um zu speichern
- Klicken Sie auf das Bleistift-Bearbeitungssymbol
- Aktivieren Sie Einfügen, Aktualisieren und Löschen, indem Sie entsprechend klicken
- Klicken Sie auf „Fortfahren“ oder auf das Häkchen-Symbol, um zu speichern
Einzelne Komposition konfigurieren
- Klicken Sie auf das Symbol Datensatz öffnen für das REST-Objekt
- Klicken Sie auf das Symbol Einzelne Komposition
- Fügen Sie die Tabelle Kunden (get)/Artikel zum Tabellenbereich hinzu
- Klicken Sie auf das
"*"
Schaltfläche, um alle Spalten hinzuzufügen - Doppelklicken Sie auf die Spalte customerId und legen Sie sie als Primärschlüssel fest
- Gehen Sie nacheinander jede Spalte durch und legen Sie den Logischen Datentyp entsprechend fest
- Beachten Sie, dass Sie die Fehlermeldung „Keine Sequenz“ erhalten, wenn Sie auf Ergebnisse klicken, bevor Sie die Viele-Komposition (unten) eingerichtet haben. Sie müssen zuerst das Viele-Objekt konfigurieren.
- Kehren Sie zum Bildschirm REST-Objekte zurück
Konfigurieren Sie viele Comp
- Klicken Sie auf das Symbol Viele Comp
- Fügen Sie die Tabelle customers (get)/items zum Tabellenfenster hinzu
- Klicken Sie auf das
"*"
Schaltfläche, um alle Spalten hinzuzufügen - Legen Sie die Ziel-Spalten auf die entsprechenden Spaltennamen fest
- Doppelklicken Sie auf die Spalte customerId und legen Sie sie als Primärschlüssel fest
- Klicken Sie auf Ergebnisse und überprüfen Sie, ob Sie die entsprechenden Daten sehen
- Kehren Sie zum Bildschirm REST-Objekte zurück
CRUD- Endpoints konfigurieren
Konfigurieren Sie für jede CRUD Operation den Endpoint und die Bindungen gemäß der folgenden Tabelle:
CRUD-Vorgang | Endpoint | Bindung (REST-Objekt) | Bindung (Endpoint) |
---|---|---|---|
Löschen | Kunden (löschen) | Kunden-ID | Artikel-/Kunden-ID |
Einfügen | Kunden (Einfügen) | Kunden-ID | Artikel/Kunden-ID |
" | " | TageAktiv | Artikel/TageAktiv |
" | " | Name | Artikel/Name |
Update | Kunden (Update) | Kunden-ID | Artikel-/Kunden-ID |
" | " | TageAktiv | Artikel/TageAktiv |
" | " | Name | Artikel/Name |
Sie sollten jetzt in der Lage sein, auf die Schaltfläche Ergebnisse in Ihrem REST-Objekt zu klicken und Zeilen hinzuzufügen/zu löschen/zu aktualisieren.
Benutzerdefinierte Ereignisse
REST-Objekte können benutzerdefinierte Ereignisse ähnlich wie andere definieren App Builder Datenobjekte. Um Ihrem REST-Objekt ein benutzerdefiniertes Ereignis hinzuzufügen, müssen Sie:
- Erstellen Sie einen benutzerdefinierten Endpoint
- Erstellen Sie eine CRUD-Regel zum Einfügen in den Endpoint
- Sie benötigen eine Anwendung, die mit der Datenquelle konfiguriert ist
- Fügen Sie dem REST-Objekt ein benutzerdefiniertes Ereignis hinzu
Benutzerdefinierten Endpoint erstellen
In {{nm.ab}} kann ein benutzerdefiniertes Ereignis für eine Tabelle mithilfe der folgenden URL Notation aufgerufen werden:
https://example.com/rest/v1/northwinds/mytable(myevent)/{{primaryKeyColumn}}
Wenn wir beispielsweise das obige Beispiel weiterverwenden, würde der folgende Endpoint auf ein „Großbuchstaben“-Ereignis in der Tabelle „Kunden“ abzielen:
customers(uppercase)/{{item/customerId}}
Um dies einzurichten, gehen Sie wie folgt vor:
- Fügen Sie ein Großbuchstaben-Ereignis zum {{nm.ab}} Tisch
- Richten Sie jetzt die REST-Verbrauchsseite ein …
- Navigieren Sie zu IDE > Datenserver > Ihr REST-Datenserver > Details
-
Klicken Sie im Bereich Endpoint auf + Endpoints und konfigurieren Sie die folgenden Informationen
- Name: Kunden (Großbuchstaben)
- Endpoint:
customers(uppercase)/{{item/customerId}}
- Methode: POST
-
Beispieleingabe - {{nm.ab}} erwartet die Eingabe im folgenden Format:
{ "item": { "customerId": "abcde" } }
-
Klicken Sie auf Speichern
- Klicken Sie auf Entdecken
- Wählen Sie Ihren Kunden (Großbuchstaben)- Endpoint
- Doppelklicken Sie auf die Tabelle Kunden (Großbuchstaben)
- Legen Sie die Spalte customerId als Primärschlüssel fest.
- Überprüfen Sie, ob die Ausgabespaltenrichtungen und Speichertypen den Erwartungen entsprechen.
Erstellen einer benutzerdefinierten CRUD-Regel für Ereignisse
Um den benutzerdefinierten Endpoint von Ihrem REST-Objekt aus aufzurufen, müssen Sie eine Regel erstellen, die in den Endpoint eingefügt wird.
- Navigieren Sie zu App Workbench > Datenquellen > Wählen Sie Ihre REST-Datenquelle > Logik
- Wählen Sie den Endpoint customer (Großbuchstabe)
- Klicken Sie im Bereich Regeln auf + Regel und legen Sie Folgendes fest
- Name: Kunde (Großbuchstaben) Einfügen
- Zweck: CRUD
- Aktion: Einfügen
- Quell-/Zieldatenquelle: Ihre Datenquelle
- Ziel: Kunden (Großbuchstaben)
- Klicken Sie auf Speichern
- Über die Tab „Tabellen“:
- Wählen Sie die Spalte „customerId“ aus und legen Sie die entsprechende item/customerId als Zielspalte fest.
Großbuchstabenereignis für REST-Objekt erstellen
Um nun alles zu verbinden, möchten wir das Großbuchstaben-Ereignis auf dem REST-Objekt erstellen.
- Navigieren Sie zu App Workbench > Datenquellen > Wählen Sie Ihre REST-Datenquelle > Logik
- Klicken Sie auf das Symbol Ereignisse für Ihr REST-Objekt
- Klicken Sie im Fenster „Ereignisse“ auf + Tabellenereignis
- Setzen Sie den Namen auf Großbuchstaben
- Klicken Sie auf Speichern
- Klicken Sie im Fenster „Aktionen“ auf Vorhandenes registrieren
- Wählen Sie die Regel Kunden (Großbuchstaben) einfügen
- Klicken Sie auf Speichern
- Fügen Sie explizite Bindungen für customerId an customerId ein
- Gehen Sie zurück zur Seite „Ereignisse“
- Doppelklicken Sie auf das Großbuchstaben-Ereignis
- Setzen Sie den Aktualisierungsbereich auf Zeile
Sie sollten nun bereit sein, das benutzerdefinierte Ereignis aufzurufen. Zum Testen können Sie eine Seite mit einem mehrzeiligen Fenster erstellen, das eine Schaltfläche zum Aufrufen des Ereignisses enthält.
Sortieren, Paginieren und Filtern - Verwendungstyp
Die folgenden Abschnitte zu Sortieren, Paginieren und Filtern beschreiben das Festlegen des Verwendungstyps für bestimmte Parameter. Die angegebenen Beispiele sind die Parameternamen App Builder verwendet, wenn Sie auf App Builder über eine REST API Schnittstelle. Wenn Sie auf andere externe REST- API Endpoints zugreifen, verfügen diese über eine eigene eindeutige Liste von Parameternamen und Werteformaten für Sortieren, Paginieren und Filtern. Die in diesen Abschnitten dargestellten Informationen sollen Ihnen helfen, die einzelnen Verwendungstypen zu verstehen und zu verstehen, wie Sie sie verwenden, unabhängig vom Parameternamen, der von der REST- API verwendet wird, auf die Sie zugreifen. Die App Builder Die in diesen Abschnitten verwendeten API Parameter sind ausführlicher in der REST- API dokumentiert Artikel.
Sortierung
Der Verwendungstyp, der sich mit der Sortierung befasst, ist Request Sort.
- Sortierung anfordern - Legen Sie diesen Verwendungstyp für den REST-Parameter fest, den die API zum Sortieren verwendet. Der Name und der Inhalt dieses Parameters werden vom API Anbieter definiert. Für dieses Beispiel verwenden wir den App Builder API Parametername von
$sort
.
Um die Sortierung zu aktivieren (mit an App Builder REST-Server):
- Navigieren Sie zu IDE > Datenserver
- Wählen Sie Ihre REST-Datenquelle
- Klicken Sie auf Details
- Klicken Sie unter Webdienstparameter auf + Parameter
- Setzen Sie den Typ auf Abfrage
- Setzen Sie den Namen auf $sort
- Lassen Sie den Wert leer
- Setzen Sie den Verwendungstyp auf Sortierung anfordern
- Klicken Sie zum Speichern auf das Häkchen-Symbol
Sie sollten nun in der Lage sein, alle Daten zu sortieren, die mit diesem Befehl abgerufen werden App Builder REST-Datenquelle.
Seitenaufruf
Die Verwendungstypen, die sich auf die Seitennummerierung beziehen, sind Anforderungsanzahl, Anforderungslimit, Anforderungsoffset, Anforderungsseitenzahl und Gesamtzahl der Antwortzeilen.
- Anzahl der Anfragen - Legen Sie diesen Verwendungstyp für den REST-Parameter fest, den die API verwendet, um anzuzeigen, dass Sie eine Gesamtanzahl der Zeilen zurückerhalten möchten. Einige APIs geben in ihrer Antwort nicht automatisch eine Gesamtanzahl zurück und erfordern einen bestimmten Parameter als Auslöser. Für dieses Beispiel verwenden wir den App Builder API Parametername von
$count
. - Anforderungslimit - Legen Sie diesen Verwendungstyp für den REST-Parameter fest, den die API verwendet, um anzuzeigen, dass Sie eine Gesamtzeilenanzahl zurückgegeben haben möchten. Einige APIs geben in ihrer Antwort nicht automatisch eine Gesamtanzahl zurück und erfordern einen bestimmten Parameter als Auslöser. Für dieses Beispiel verwenden wir den App Builder API Parametername von
$limit
. - Anforderungsoffset - Legen Sie diesen Verwendungstyp für den REST-Parameter fest, den die API verwendet, um anzugeben, in welcher Zeile Sie mit der Datenrückgabe beginnen möchten. Für dieses Beispiel verwenden wir den App Builder API Parametername von
$offset
. - Seitenzahl anfordern - Legen Sie diesen Verwendungstyp für den REST-Parameter fest, den die API verwendet, um anzugeben, auf welcher Seite Sie mit der Datenrückgabe beginnen möchten. Einige APIs verwenden die Seitenzahl anstelle des Offsets oder bieten beides an. Sie sollten nur eine für Ihren Endpoint definieren, nicht beide. Die App Builder Die API definiert keinen Parameter für die Seitenzahl.
- Gesamtzahl der Zeilen der Antwort - Legen Sie diesen Verwendungstyp für den REST-Parameter fest, den die API verwendet, um eine Gesamtzeilenanzahl in der Antwort zurückzugeben. Einige APIs geben in ihrer Antwort nicht automatisch eine Gesamtanzahl zurück und erfordern einen bestimmten Parameter als Auslöser. Siehe den Verwendungstyp „Anzahl der Anfragen“ oben.
Um das Paging zu aktivieren (mit an App Builder REST-Server):
- Navigieren Sie zu IDE > Datenserver
- Wählen Sie Ihre REST-Datenquelle
- Klicken Sie auf Details
- Klicken Sie unter Webdienstparameter auf + Parameter
- Typ auf Abfrage setzen
- Setze den Namen auf $count
- Wert auf true setzen
- Nutzungstyp auf Anzahl der Anfragen festlegen
- Klicken Sie zum Speichern auf das Häkchen-Symbol
- Klicken Sie unter Webdienstparameter auf + Parameter
- Typ auf Abfrage setzen
- Setze den Namen auf $limit
- Wert leer lassen
- Nutzungstyp auf Anforderungslimit setzen
- Klicken Sie zum Speichern auf das Häkchen-Symbol
- Klicken Sie unter Webdienstparameter auf + Parameter
- Typ auf Abfrage setzen
- Setze den Namen auf $offset
- Wert leer lassen
- Nutzungstyp auf Anforderungsoffset festlegen
- Klicken Sie zum Speichern auf das Häkchen-Symbol
- Navigieren Sie für alle Endpoints, die Paging unterstützen, zur Endpoint, die den Parameter „count“ enthält.
- In unserem obigen Beispiel wäre dies die Tabelle „customers (get)“
- Legen Sie den Verwendungstyp der Zählspalte auf Antwort - Gesamtzahl der Zeilen fest.
Die Schaltfläche „Weitere Zeilen laden“ sollte jetzt für alle von diesem Endpoint abgerufenen Daten funktionieren.
Anzeigeoptionen für Bedienfelder
Wenn Sie ein Panel so konfigurieren, dass REST-Objektdaten angezeigt werden, stehen in Edge Case Optionen zur Verfügung, mit denen Sie steuern können, wie das Panel die Datensätze anzeigt. Sie können steuern, ob App Builder lädt eine festgelegte Anzahl von Datensätzen zusammen mit der Schaltfläche „Weitere Zeilen laden“, oder zeigt eine festgelegte Anzahl von Datensätzen zusammen mit Seitennavigationssteuerelementen im Symbolleistenbereich an, um weitere Datensätze zu laden.
Wenn die REST API -Konfiguration dies unterstützt, können Sie außerdem die Anzahl der Datensätze festlegen App Builder wird zunächst auf dem Bedienfeld angezeigt.
So laden Sie weitere Zeilen
- Navigieren Sie zum Panel und verwenden Sie das REST-Objekt als Quelle
- Gehen Sie zu Diese Seite gestalten
- Gehen Sie für das Panel zu Mehr > Randfall
- Stellen Sie die Paging-Option auf Weitere Zeilen laden
So aktivieren Sie die Paging-Funktion
- Navigieren Sie zum Panel und verwenden Sie das REST-Objekt als Quelle
- Gehen Sie zu Diese Seite gestalten
- Gehen Sie für das Panel zu Mehr > Randfall
- Setzen Sie die Paging-Option auf Paging
So legen Sie die Anzahl der anfänglich geladenen Datensätze fest
- Navigieren Sie zum Panel und verwenden Sie das REST-Objekt als Quelle
- Gehen Sie zu Diese Seite entwerfen
- Gehen Sie für das Panel zu Mehr > Randfall
- Setzen Sie Zeilen pro Anfrage auf den numerischen Wert, den Sie anfänglich laden möchten
Filtern
Die Verwendungstypen, die sich mit der Filterung befassen, sind Request Filter und Request Filter (OData). Legen Sie diesen Verwendungstyp für den REST-Parameter fest, den die API zum Filtern verwendet. Request Filter dient zum einfachen Filtern, während Request Filter (OData) zum Filtern nach dem OData-Standard dient. Dieser Standard definiert verschiedene Filterbedingungen. Der App Builder Die API verwendet den OData-Style-Filter, wie in unserem Beispiel. Überprüfen Sie Ihre spezifischen API Dokumente, um zu sehen, ob OData Filterung unterstützt wird, bevor Sie sie verwenden. Weitere Informationen zur OData Filterung finden Sie hier in diesen REST API Empfehlungen Artikel.
Um die Filterung zu aktivieren (mit an App Builder REST-Server):
- Navigieren Sie zu IDE > Datenserver
- Wählen Sie Ihre REST-Datenquelle
- Klicken Sie auf Details
- Klicken Sie unter Webdienstparameter auf + Parameter
- Typ auf Abfrage setzen
- Setze den Namen auf $filter
- Wert leer lassen
- Verwendungstyp auf Anforderungsfilter (OData) festlegen
- Klicken Sie zum Speichern auf das Häkchen-Symbol
Sie sollten nun in der Lage sein, alle Daten zu filtern, die mit diesem App Builder REST-Datenquelle.
Das Filtern über einen REST-Dienst unterstützt Folgendes:
Operatoren
eq
- Gleichneq
- Ungleichgt
- Größer alsge
- Größer als oder gleichlt
- Weniger alsle
- Kleiner als oder gleich
Einschränkungen
- Keine Rechenoperatoren
- Keine logischen „oder/nicht“-Operatoren
- Keine Gruppierungsoperatoren
- Keine Abfrage
- Keine Parameter-Aliase