Zum Inhalt springen

REST-Objekt im Jitterbit App Builder

Übersicht

REST-Objekte ermöglichen es Entwicklern des App Builders, REST-APIs ähnlich wie App Builder-Datenobjekte zu nutzen. REST-Objekte unterstützen Folgendes:

  • CRUD-Operationen
  • Integration mit verschiedenen App Builder-Steuerelementen wie Mehrzeilen-/Einzeilen-Panels, Listen
  • Benutzerdefinierte Ereignisse
  • Sortierung
  • Filterung (OData-ähnliche Filterabfragezeichenfolge)

Für REST-APIs, die CRUD-ähnliche Operationen unterstützen, kann die Konfiguration eines REST-Objekts eine einfache Möglichkeit sein, eine API mit Ihrer App Builder-App zu integrieren.

CRUD-Endpunkte

Für eine CRUD-ähnliche REST-API möchten Sie Endpunkte konfigurieren, die es ermöglichen, Datensätze zu erstellen, zu lesen, zu aktualisieren und zu löschen. Im Allgemeinen bedeutet dies, die folgenden Endpunkte einzurichten:

Operation Methode Beispiel-URL
Erstellen POST an eine Sammlungsressource https://api.example.com/rest/v1/customers
Lesen GET von einer Sammlungsressource https://api.example.com/rest/v1/customers
Aktualisieren PUT oder POST an eine Elementressource https://api.example.com/rest/v1/customers/<customerId>
Löschen DELETE von einer Elementressource https://api.example.com/rest/v1/customers/<customerId>

Beispielkonfiguration der App Builder REST-API

Die folgenden Schritte zeigen, wie man CRUD-Endpunkte für einen App Builder REST-Server konfiguriert. In diesem Beispiel nehmen wir an, dass es eine Tabelle gibt wie:

Spalte Attribute Logischer Typ
CustomerId Primärschlüssel Zeichenfolge
Name Zeichenfolge
DaysActive Ganzzahl

Diese REST-API wird vom Endpunkt "northwinds" als Ressource namens "customers" bereitgestellt. Daher wäre die URL, um diesen Endpunkt zu erreichen:

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-Endpunkt

  • Navigieren Sie zu IDE > Datenserver > Ihr REST-Datenserver > Details
  • Klicken Sie auf + Endpunkt im Panel Endpunkte und konfigurieren Sie die folgenden Informationen:
    • Name: customers (get)
    • Endpunkt: customers
    • Methode: GET
  • Klicken Sie auf Speichern
  • Klicken Sie auf Entdecken
  • Gehen Sie zurück zur vorherigen Seite
  • Wählen Sie Ihren customers (get) Endpunkt aus
  • Beachten Sie, dass es drei Ausgabetabellen gibt
  • Doppelklicken Sie auf die Tabelle customers (get)/items
  • Setzen Sie die Spalte customerId als Primärschlüssel
  • Stellen Sie sicher, dass die Spalten den erwarteten Speichertyp verwenden
  • Klicken Sie auf Ergebnisse und überprüfen Sie, ob die zurückgegebenen Daten wie erwartet sind

Erstellen

  • Navigieren Sie zu IDE > Datenserver > Ihr REST-Datenserver > Details
  • Klicken Sie auf + Endpunkt im Panel Endpunkte und konfigurieren Sie die folgenden Informationen:

    • Name: customers (insert)
    • Endpunkt: customers
    • Methode: POST
    • Beispiel-Eingabe - Der App Builder erwartet, dass die Eingabe im folgenden Format vorliegt:

      {
        "item": {
          "customerId": "abcde",
          "name": "Test Customer",
          "daysActive": 10
        }
      }
      
  • Klicken Sie auf Speichern

  • Klicken Sie auf Entdecken
    • Beachten Sie, dass das mehrfache Klicken auf Entdecken zu einem Primärschlüsselverstoß führen kann, da der Datensatz 'abcde' bereits auf dem Server vorhanden ist. Wenn dies geschieht, müssen Sie den vorhandenen Datensatz löschen, bevor Entdecken funktioniert. Löschen Sie entweder den Datensatz auf dem App Builder REST API-Server oder richten Sie den "Löschen"-Endpunkt ein und importieren Sie ihn.
  • Gehen Sie zurück zur vorherigen Seite
  • Wählen Sie Ihren customers (insert) Endpunkt aus
  • Doppelklicken Sie auf die Tabelle customers (insert)
  • Setzen Sie die Spalte customerId als Primärschlüssel
  • Setzen Sie die Spalten customerId, name und daysActive auf Eingabe/Ausgabe-Richtung.
    • Wenn wir einen Datensatz erstellen, übergeben wir alle drei Spalten (Eingabe). Der App Builder REST API-Server gibt diese Spalten im zurückgegebenen JSON (Ausgabe) zurück. Wenn der Server aus irgendeinem Grund einen anderen Wert zurückgibt als den, den wir gesendet haben (vielleicht durch Formatierung eines Strings), möchten wir, dass unser Datensatz die zurückgegebenen Werte enthält.
  • Stellen Sie sicher, dass die Spalten den erwarteten Speichertyp verwenden

Update

  • Navigieren Sie zu IDE > Datenserver > Ihr REST-Datenserver > Details
  • Klicken Sie auf + Endpunkt im Endpunkt-Panel und konfigurieren Sie die folgenden Informationen
  • Name: customers (aktualisieren)
  • Endpunkt: customers/{{item/customerId}}
  • Methode: POST
  • Beispiel-Eingabe - Der App Builder erwartet, dass die Eingabe im folgenden Format vorliegt:

    {
      "item": {
        "customerId": "abcde",
        "name": "Test Customer (updated)",
        "daysActive": 10
      }
    }
    
  • Klicken Sie auf Speichern

  • Klicken Sie auf Entdecken
  • Gehen Sie zurück zur vorherigen Seite
  • Wählen Sie Ihren customers (aktualisieren) Endpunkt aus
  • Doppelklicken Sie auf die customers (aktualisieren) Tabelle
  • Setzen Sie die customerId Spalte als Primärschlüssel
  • Setzen Sie die Spalten customerId, name und daysActive auf Eingabe/Ausgabe Richtung.
  • Stellen Sie sicher, dass die Spalten den erwarteten Speichertyp verwenden

REST object

Sobald Ihre CRUD-Endpunkte konfiguriert sind, können Sie das REST-Objekt erstellen.

Create REST object

  • 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 Kunden
  • Klicken Sie auf das Häkchen-Symbol, um zu speichern
  • Klicken Sie auf das Bleistift-Bearbeiten-Symbol
  • Aktivieren Sie Einfügen, Aktualisieren und Löschen, indem Sie entsprechend klicken
  • Klicken Sie auf Fortfahren oder das Häkchen-Symbol, um zu speichern

Configure single comp

  • Klicken Sie auf das Datensatz öffnen-Symbol für das REST-Objekt
  • Klicken Sie auf das Einzelnes Komponent-Symbol
  • Fügen Sie die customers (get)/items Tabelle zum Tabellen-Panel hinzu
  • Klicken Sie auf die "*"-Schaltfläche, um alle Spalten hinzuzufügen
  • Doppelklicken Sie auf die customerId Spalte und setzen Sie sie als Primärschlüssel
  • Gehen Sie jede Spalte der Reihe nach durch und setzen Sie den Logischen Datentyp entsprechend
  • Beachten Sie, dass Sie eine "Keine Sequenz"-Fehlermeldung erhalten, wenn Sie auf Ergebnisse klicken, bevor Sie die Many Comp (unten) eingerichtet haben. Sie müssen zuerst das Many-Objekt konfigurieren.
  • Kehren Sie zum Bildschirm REST-Objekte zurück

Configure many comp

  • Klicken Sie auf das Many Comp-Symbol
  • Fügen Sie die customers (get)/items Tabelle zum Tabellen-Panel hinzu
  • Klicken Sie auf die "*"-Schaltfläche, um alle Spalten hinzuzufügen
  • Setzen Sie die Ziel-Spalten auf die entsprechenden Spaltennamen
  • Doppelklicken Sie auf die customerId Spalte und setzen Sie sie als Primärschlüssel
  • Klicken Sie auf Ergebnisse und überprüfen Sie, ob Sie die entsprechenden Daten sehen
  • Kehren Sie zum Bildschirm REST-Objekte zurück

CRUD-Endpunkte konfigurieren

Für jede CRUD-Operation Liste, konfiguriere den Endpunkt und die Bindungen gemäß der folgenden Tabelle:

CRUD-Operation Endpunkt Bindung (REST-Objekt) Bindung (Endpunkt)
Löschen customers (delete) customerId item/customerId
Einfügen customers (insert) customerId item/customerId
" " daysActive item/daysActive
" " name item/name
Aktualisieren customers (update) customerId item/customerId
" " daysActive item/daysActive
" " name item/name

Jetzt solltest du in der Lage sein, auf die Schaltfläche Ergebnisse in deinem REST-Objekt zu klicken und Zeilen hinzuzufügen/löschen/aktualisieren.

Benutzerdefinierte Ereignisse

REST-Objekte können benutzerdefinierte Ereignisse ähnlich wie andere App Builder-Datenobjekte definieren. Um ein benutzerdefiniertes Ereignis zu deinem REST-Objekt hinzuzufügen, musst du:

  • Einen benutzerdefinierten Ereignis-Endpunkt erstellen
  • Eine CRUD-Regel erstellen, um in den Endpunkt einzufügen
    • Du benötigst eine Anwendung, die mit der Datenquelle konfiguriert ist
  • Ein benutzerdefiniertes Ereignis zum REST-Objekt hinzufügen

Benutzerdefinierten Ereignis-Endpunkt erstellen

Im App Builder kann ein benutzerdefiniertes Ereignis auf einer Tabelle mit dieser URL-Notation aufgerufen werden:

https://example.com/rest/v1/northwinds/mytable(myevent)/{{primaryKeyColumn}}

Wenn wir das obige Beispiel weiter verwenden, würde der folgende Endpunkt ein "uppercase"-Ereignis auf der Tabelle "customers" ansprechen:

customers(uppercase)/{{item/customerId}}

Um dies einzurichten, mache Folgendes:

  • Füge ein uppercase-Ereignis zur App Builder-Tabelle hinzu
  • Richte jetzt die REST-verbrauchende Seite ein...
  • Navigiere zu IDE > Datenserver > Dein REST-Datenserver > Details
  • Klicke auf + Endpunkt im Endpunkte-Panel und konfiguriere die folgenden Informationen
    • Name: customers (uppercase)
    • Endpunkt: customers(uppercase)/{{item/customerId}}
    • Methode: POST
    • Beispiel-Eingabe - Der App Builder erwartet, dass die Eingabe im folgenden Format vorliegt:

text { "item": { "customerId": "abcde" } }

  • Klicken Sie auf Speichern
  • Klicken Sie auf Entdecken
  • Wählen Sie Ihren customers (uppercase) Endpunkt aus
  • Doppelklicken Sie auf die customers (uppercase) Tabelle
  • Setzen Sie die customerId Spalte als Primärschlüssel
  • Überprüfen Sie, ob die Ausgabespaltenrichtungen und Speichertypen wie erwartet sind.

Erstellen Sie eine benutzerdefinierte Ereignis-CRUD-Regel

Um den benutzerdefinierten Ereignis-Endpunkt von Ihrem REST-Objekt aus aufzurufen, müssen Sie eine Regel erstellen, die in den Endpunkt einfügt.

  • Navigieren Sie zu App Workbench > Datenquellen > Wählen Sie Ihre REST-Datenquelle > Logik
  • Wählen Sie den customer (uppercase) Endpunkt aus
  • Klicken Sie im Regeln-Panel auf + Regel und setzen Sie Folgendes
    • Name: Customer (uppercase) Insert
    • Zweck: CRUD
    • Aktion: Einfügen
    • Quell-/Ziel-Datenquelle: Ihre Datenquelle
    • Ziel: customers (uppercase)
  • Klicken Sie auf Speichern
  • Wählen Sie im Tab Tabellen:
    • Wählen Sie die customerId-Spalte aus und setzen Sie das entsprechende Element/customerId als Zielspalte

Erstellen Sie ein Großbuchstabenereignis im REST-Objekt

Um alles zu verbinden, möchten wir das Großbuchstabenereignis im REST-Objekt erstellen.

  • Navigieren Sie zu App Workbench > Datenquellen > Wählen Sie Ihre REST-Datenquelle > Logik
  • Klicken Sie auf das Ereignisse-Symbol für Ihr REST-Objekt
  • Klicken Sie im Ereignis-Panel auf + Tabellenereignis
  • Setzen Sie den Namen auf Uppercase
  • Klicken Sie auf Speichern
  • Klicken Sie im Aktions-Panel auf Vorhandenes registrieren
  • Wählen Sie die Regel Customers (uppercase) Insert
  • Klicken Sie auf Speichern
  • Fügen Sie explizite Bindungen für customerId zu customerId hinzu
  • Gehen Sie zurück zur Ereignisse-Seite
  • Doppelklicken Sie auf das Uppercase-Ereignis
  • Setzen Sie den Aktualisierungsbereich auf Zeile

Sie sollten bereit sein, das benutzerdefinierte Ereignis aufzurufen. Um es zu testen, können Sie eine Seite mit einem Mehrzeilen-Panel erstellen, das einen Button hat, um das Ereignis aufzurufen.

Sortierung, Paging und Filterung - Verwendungstyp

Die folgenden Abschnitte zu Sortierung, Paging und Filterung beschreiben das Setzen des Verwendungstyps für bestimmte Parameter. Die gegebenen Beispiele sind die Parameternamen, die der App Builder verwendet, wenn Sie auf den App Builder über eine REST-API-Schnittstelle zugreifen. Wenn Sie auf andere externe REST-API-Serverendpunkte zugreifen, haben diese ihre eigene einzigartige Liste von Parameternamen und Wertformaten für Sortierung, Paging und Filterung. Die in diesen Abschnitten präsentierten Informationen sollen Ihnen helfen zu verstehen, was jeder der Verwendungstypen ist und wie Sie sie verwenden können, unabhängig vom Parameternamen, der von der REST-API verwendet wird, auf die Sie zugreifen. Die in diesen Abschnitten verwendeten App Builder API-Parameter sind weiter dokumentiert im Artikel REST API.

Sortierung

Der Verwendungstyp, der sich mit der Sortierung befasst, ist Request Sort.

  • Request Sort - Setzen Sie diesen Verwendungstyp auf den REST-Parameter, den die API für die Sortierung verwendet. Der Name und der Inhalt dieses Parameters werden vom API-Anbieter definiert. In diesem Beispiel verwenden wir den Parametername der App Builder API von $sort.

Um die Sortierung zu aktivieren (mit einem App Builder REST-Server):

  • Navigieren Sie zu IDE > Datenserver
  • Wählen Sie Ihre REST-Datenquelle aus
  • Klicken Sie auf Details
  • Klicken Sie unter Web Service Parameter auf + Parameter
  • Setzen Sie den Typ auf Query
  • Setzen Sie den Namen auf $sort
  • Lassen Sie den Wert leer
  • Setzen Sie den Verwendungstyp auf Request Sort
  • Klicken Sie auf das Häkchen-Symbol, um zu speichern

Sie sollten jetzt in der Lage sein, alle Daten zu sortieren, die mit dieser App Builder REST-Datenquelle abgerufen werden.

Seitenumbruch

Die Verwendungstypen, die sich mit dem Seitenumbruch befassen, sind Request Count, Request Limit, Request Offset, Request Page Number und Response Total Rows.

  • Request Count - Setzen Sie diesen Verwendungstyp auf den REST-Parameter, den die API verwendet, um anzuzeigen, dass Sie eine Gesamtanzahl der Zeilen zurückgegeben haben möchten. Einige APIs geben in ihrer Antwort nicht automatisch eine Gesamtanzahl zurück und benötigen einen spezifischen Parameter als Auslöser. In diesem Beispiel verwenden wir den Parametername der App Builder API von $count.
  • Request Limit - Setzen Sie diesen Verwendungstyp auf den REST-Parameter, den die API verwendet, um anzuzeigen, dass Sie eine Gesamtanzahl der Zeilen zurückgegeben haben möchten. Einige APIs geben in ihrer Antwort nicht automatisch eine Gesamtanzahl zurück und benötigen einen spezifischen Parameter als Auslöser. In diesem Beispiel verwenden wir den Parametername der App Builder API von $limit.
  • Request Offset - Setzen Sie diesen Verwendungstyp auf den REST-Parameter, den die API verwendet, um anzuzeigen, ab welcher Zeile Sie Daten zurückgegeben haben möchten. In diesem Beispiel verwenden wir den Parametername der App Builder API von $offset.
  • Request Page Number - Setzen Sie diesen Verwendungstyp auf den REST-Parameter, den die API verwendet, um anzuzeigen, auf welcher Seite Sie mit der Rückgabe von Daten beginnen möchten. Einige APIs verwenden die Seitenzahl anstelle von Offset oder bieten möglicherweise beides an. Sie sollten nur eines für Ihren Endpunkt definieren, nicht beide. Die App Builder API definiert keinen Parameter für die Seitenzahl.
  • Response Total Rows - Setzen Sie diesen Verwendungstyp auf den REST-Parameter, den die API verwendet, um eine Gesamtanzahl der Zeilen in der Antwort zurückzugeben. Einige APIs geben in ihrer Antwort nicht automatisch eine Gesamtanzahl zurück und benötigen einen spezifischen Parameter als Auslöser. Siehe den Verwendungstyp Request Count oben.

Um Paging (mit einem App Builder REST-Server) zu aktivieren:

  • Navigieren Sie zu IDE > Datenserver
  • Wählen Sie Ihre REST-Datenquelle aus
  • Klicken Sie auf Details
  • Klicken Sie unter Webdienstparameter auf + Parameter
    • Setzen Sie den Typ auf Abfrage
    • Setzen Sie den Namen auf $count
    • Setzen Sie den Wert auf true
    • Setzen Sie den Verwendungstyp auf Anzahl der Anfragen
    • Klicken Sie auf das Häkchen-Symbol, um zu speichern
  • Klicken Sie unter Webdienstparameter auf + Parameter
    • Setzen Sie den Typ auf Abfrage
    • Setzen Sie den Namen auf $limit
    • Lassen Sie den Wert leer
    • Setzen Sie den Verwendungstyp auf Anfragegrenze
    • Klicken Sie auf das Häkchen-Symbol, um zu speichern
  • Klicken Sie unter Webdienstparameter auf + Parameter
    • Setzen Sie den Typ auf Abfrage
    • Setzen Sie den Namen auf $offset
    • Lassen Sie den Wert leer
    • Setzen Sie den Verwendungstyp auf Anfrageversatz
    • Klicken Sie auf das Häkchen-Symbol, um zu speichern
  • Für alle Endpunkte, die Paging unterstützen, navigieren Sie zur Endpunkt-Tabelle, die den "count"-Parameter enthält.
    • In unserem obigen Beispiel wäre dies die Kunden (get) Tabelle
    • Setzen Sie den Verwendungstyp der Zählerspalte auf Antwort Gesamtzeilen

Die Schaltfläche "Weitere Zeilen laden" sollte nun für alle Daten funktionieren, die von diesem Endpunkt abgerufen werden.

Panel-Anzeigemöglichkeiten

Wenn Sie ein Panel konfigurieren, um REST-Objektdaten anzuzeigen, stehen in Edge Case Optionen zur Verfügung, die steuern, wie das Panel die Datensätze anzeigt. Sie können steuern, ob der App Builder eine festgelegte Anzahl von Datensätzen zusammen mit einer Schaltfläche "Weitere Zeilen laden" lädt oder ob er eine festgelegte Anzahl von Datensätzen zusammen mit Paging-Navigationssteuerelementen in der Symbolleiste anzeigt, um weitere Datensätze zu laden.

Darüber hinaus können Sie, wenn die REST-API-Konfiguration dies unterstützt, die Anzahl der Datensätze festlegen, die der App Builder zunächst im Panel anzeigt.

Um weitere Zeilen zu laden
  • Navigieren Sie zu dem Panel, das das REST-Objekt als Quelle verwendet
  • Gehen Sie zu Diese Seite gestalten
  • Gehen Sie zu Mehr > Edge Case für das Panel
  • Setzen Sie die Paging-Option auf Weitere Zeilen laden
Um Paging zu aktivieren
  • Navigieren Sie zu dem Panel, das das REST-Objekt als Quelle verwendet
  • Gehen Sie zu Diese Seite gestalten
  • Gehen Sie zu Mehr > Edge Case für das Panel
  • Setzen Sie die Paging-Option auf Paging
Um die Anzahl der initial geladenen Datensätze festzulegen
  • Navigieren Sie zum Panel, indem Sie das REST-Objekt als Quelle verwenden
  • Gehen Sie zu Diese Seite gestalten
  • Gehen Sie zu Mehr > Randfall für das Panel
  • Setzen Sie Zeilen pro Anfrage auf den numerischen Wert, den Sie initial laden möchten

Filtern

Die Nutzungstypen, die sich mit dem Filtern befassen, sind Anfragefilter und Anfragefilter (OData). Setzen Sie diesen Nutzungstyp auf den REST-Parameter, den die API für das Filtern verwendet. Der Anfragefilter ist für einfaches Filtern, während der Anfragefilter (OData) für das Filtern mit dem OData-Standard verwendet wird. Dieser Standard definiert verschiedene Filterbedingungen. Die App Builder API verwendet den OData-Stilfilter, wie in unserem Beispiel verwendet. Überprüfen Sie Ihre spezifischen API-Dokumente, um zu sehen, ob OData-Filtering unterstützt wird, bevor Sie es verwenden. Weitere Informationen zum OData-Filtering finden Sie in diesem REST API-Empfehlungen Artikel.

Um das Filtern zu aktivieren (mit einem App Builder REST-Server):

  • Navigieren Sie zu IDE > Datenserver
  • Wählen Sie Ihre REST-Datenquelle aus
  • Klicken Sie auf Details
  • Klicken Sie unter Webdienstparameter auf + Parameter
    • Setzen Sie den Typ auf Abfrage
    • Setzen Sie den Namen auf $filter
    • Lassen Sie den Wert leer
    • Setzen Sie den Nutzungstyp auf Anfragefilter (OData)
    • Klicken Sie auf das Häkchen-Symbol, um zu speichern

Sie sollten jetzt in der Lage sein, alle Daten zu filtern, die mit dieser App Builder REST-Datenquelle abgerufen werden.

Das Filtern über einen REST-Dienst unterstützt Folgendes:

Operatoren

  • eq – Gleich
  • neq – Ungleich
  • gt – Größer als
  • ge – Größer als oder gleich
  • lt – Kleiner als
  • le – Kleiner als oder gleich

Einschränkungen

  • Keine arithmetischen Operatoren
  • Keine oder/nicht logischen Operatoren
  • Keine Gruppierungsoperatoren
  • Keine Abfragefunktionen
  • Keine Parameter-Aliase