So erstellen Sie eine einfache REST-API.
Geschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contentsGeschrieben für Frends Version 5.6.
Frends verfügt über API-Management. Dies ermöglicht dem Benutzer, HTTP-Prozesse zu erstellen und zu verwalten, die einen Vorgang in einer OpenAPI 2.0 (Swagger)-Spezifikation implementieren.
Erstellen einer Swagger-Beschreibung der API
Die OpenAPI-Spezifikation finden Sie unterhttps://swagger.io/specification/#schema
Die Swagger-Datei kann erstellt werden mit (HINWEIS: Nicht unbedingt sicher, daher nur für Tests empfohlen)http://editor.swagger.io/#
Der Swagger definiert, wie die API funktioniert.
Freunde können mit Swagger-Dateien im JSON-Format arbeiten, nicht im YAML-Format.
Dieses Beispiel-Swagger definiert eine API, die das Abrufen von Produktinformationen mit einem EAN-Code ermöglicht und eine von zwei Arten von Nachrichten zurückgibt
{
"swagger": "2.0",
"die Information": {
"description": "Diese API-Schnittstelle ist für Produktdaten aus dem Backend-System.",
"version": "1.0.0",
"title": "Kundendatenschnittstelle V1",
"Kontakt": {
"name": "Frank von Freundlich",
"E-Mail": "frank@someserver.com"
}
},
"Host": "frends44.frendsapp.com",
„basePath“: „/api/f44_demo“,
"Schemata": [
"http"
],
"Pfade": {
"/GetProduct_v1": {
"erhalten": {
"description": "Erhält Informationen basierend auf dem Produktcode",
"Parameter": [
{
"Name": "Produktcode",
"in": "Abfrage",
"description": "Produktcode (EAN)",
"erforderlich": wahr,
"Typ": "Nummer",
"Format": "Ganzzahl"
}
],
"Antworten": {
"200": {
"description": "Erfolgreiche Antwort",
"Schema": {
"Titel": "SERVICE",
"Typ": "Objekt",
"Eigenschaften": {
"TYP": {
"Typ": "Zeichenfolge",
"Standard": "Antwort",
"Beschreibung": "Nachrichtentyp."
},
"DATEN": {
"Titel": "DATEN",
"Typ": "Objekt",
"Eigenschaften": {
"Produktcode": {
"Typ": "Zeichenfolge",
"Standard": "",
"description": "Produktcode (EAN) aus dem Backend-System."
},
"Beschreibung": {
"Typ": "Zeichenfolge",
"Standard": "",
"description": "Beschreibung des Produkts."
},
"Inventar": {
"Typ": "Ganzzahl",
"Standard": "",
"description": "Wie viele Einheiten sind im Inventar."
},
"Gewicht": {
"Typ": "Ganzzahl",
"Standard": "",
"description": "Gewicht pro Einheit."
},
"Preis": {
"Typ": "Ganzzahl",
"Standard": "",
"Beschreibung": "Preis pro Einheit."
}
}
}
}
}
},
"400": {
"description": "Antwort fehlgeschlagen",
"Schema": {
"Titel": "SERVICE",
"Typ": "Objekt",
"Eigenschaften": {
"TYP": {
"Typ": "Zeichenfolge",
"Standard": "Antwort",
"Beschreibung": "Nachrichtentyp."
},
"FEHLER": {
"Titel": "FEHLER",
"Typ": "Objekt",
"Eigenschaften": {
"Fehlercode": {
"Typ": "Ganzzahl",
"Standard": "",
"description": "Fehlercode."
},
"Fehlermeldung": {
"Typ": "Zeichenfolge",
"Standard": "",
"description": "Fehlermeldung."
}
}
}
}
}
}
}
}
}
}
}
Einrichten der API in FRENDS
Kopieren Sie das Swagger-JSON nach Frends, erstellen Sie eine neue API und fügen Sie das JSON in den Swagger-Editor ein. Klicken Sie anschließend auf „Änderungen speichern“, um die API zu erstellen.
Ihre API sollte dann in der API-Liste angezeigt werden.
2. Erstellen Sie einen Prozess für die API, indem Sie zuerst auf die API klicken, um alle verfügbaren Aktionen und URLs anzuzeigen.
Klicken Sie dann auf die gewünschte Aktion, um deren Beschreibung und die Option zum Erstellen eines neuen verknüpften Prozesses anzuzeigen.
Klicken Sie auf die Schaltfläche „Neuen Prozess erstellen“ und ein Frends-Prozesseditor wird geöffnet. Der Prozesseditor basiert auf den im Swagger bereitgestellten Informationen. In unserem Swagger haben wir zwei mögliche Antworten sowie die verwendete Methode definiert.
Wenn Sie sich durch die Elemente klicken, sehen Sie in der Praxis, wie die Swagger-Parameter eingesetzt werden.
Wenn man sich die Werte ansieht, müssen einige wahrscheinlich angepasst werden, damit diese Schnittstelle nützlich ist. Beispielsweise ist die Rückgabe von „0“ für den Bestand aller Produkte wahrscheinlich nicht das, was wirklich gewünscht ist. Lassen Sie uns vorerst einfach einen einfachen Dummy-Prozess erstellen, der immer eine erfolgreiche Antwort zurückgibt.
Klicken Sie nun auf „Neuen Prozess erstellen und aktivieren“. Der Prozess wird in der Prozessliste mit einem „API“-Trigger angezeigt.
Wir können den Prozess jetzt auch auf der Seite „APIs“ unter der Schnittstelle „GET /GetProduct_v1“ sehen.
3. Stellen Sie Prozesse aus der API-Ansicht bereit, indem Sie auf die Schaltfläche „Bereitstellen“ klicken. Das folgende Popup wird angezeigt:
Von hier aus können Sie der API eine Beschreibung geben und aktive Vorgänge überprüfen. Die Schaltfläche „Anzeigen“ öffnet den mit dem Vorgang verknüpften Prozess in einem neuen Browsertab.
Wenn wir auf die Schaltfläche „Speichern und bereitstellen“ klicken, wird ein Popup-Fenster angezeigt, in dem wir die Umgebung auswählen können, in der wir bereitstellen möchten, die Version, die wir bereitstellen möchten, und die Option zum Aktivieren von Triggern, falls diese nicht bereits aktiv sind (standardmäßig aktiviert).
Wenn wir jetzt auf „Bereitstellen“ klicken, wird die API (bei erfolgreicher Bereitstellung) in der API-Liste der Testumgebung angezeigt.
4. API-Schlüssel erstellen. Gehen Sie zu Verwaltung → API-Schlüssel.
Auf der Seite wird standardmäßig die API-Schlüsselansicht angezeigt, wobei vorhandene API-Schlüssel unter der Schaltfläche „Neuer API-Schlüssel“ und dem Filterfeld aufgelistet sind. Klicken Sie auf „Neuer API-Schlüssel“, um den gewünschten Schlüssel zu erstellen:
Momentan gibt es keinen Regelsatz, der an diesen API-Schlüssel angehängt werden kann. Sie können ihm also nur einen Namen geben und eine Umgebung zuweisen. Der API-Schlüssel wird angezeigt, sobald Sie auf „Speichern“ klicken.
5. API-Regelsatz erstellen. Damit der API-Schlüssel von Nutzen ist, müssen Sie einen Regelsatz definieren, mit dem er verwendet werden soll. Gehen Sie dazu zu den „API-Regelsätzen“, wählen Sie „Neuer Regelsatz“ und füllen Sie das angezeigte Formular aus:
Hier wurde dem Regelsatz ein passender Name und eine Beschreibung gegeben. Der gerade erstellte API-Schlüssel wurde der Liste der API-Schlüssel hinzugefügt und eine Regel für die zulässige Methode wird gerade definiert. Wenn die Kundendatenschnittstelle mehr Funktionen hätte als die im Swagger definierte Get-Operation, könnten Sie alle Regeln in diesen einzelnen Regelsatz aufnehmen und die Verwendung mehrerer API-Schlüssel zulassen. Wenn Sie mit unterschiedlichen API-Schlüsseln unterschiedliche Zugriffsrechte haben möchten – beispielsweise einen API-Schlüssel, mit dem Sie nur Daten abrufen können, und einen anderen, der auch das Posten von Daten ermöglicht – müssen Sie für jeden Schlüssel unterschiedliche Regelsätze erstellen. Sobald Sie auf „Änderungen speichern“ klicken, wird der Regelsatz automatisch in der Regelsatzliste des ausgewählten API-Schlüssels angezeigt.
Verwandte ArtikelAuthentifizierung zum Anzeigen der API-SpezifikationenVerwaltungs-APIEinführung in das Testen einer API und API – SchlüsselkonzepteEinführung in die API-Authentifizierung mit FrendsManagement-API v.0.9 Endpunkte