Einfache Rechner-API in API Gateway - Amazon API Gateway

Einfache Rechner-API in API Gateway

Unsere einfache Rechner-API stellt drei Methoden (GET, POST, GET) zum Aufrufen der berei Einfache Lambda-Rechnerfunktion. Eine grafische Darstellung dieser API sieht wie folgt aus:


            Einfache Rechner-API für generiertes SDK

Diese drei Methoden zeigen verschiedene Methoden zur Bereitstellung der Eingabe für die Backend-Lambda-Funktion, um denselben Vorgang auszuführen:

  • Die GET /?a=...&b=...&op=...-Methode verwendet die Abfrageparameter, um den Eingang anzugeben.

  • Die POST /-Methode verwendet die JSON-Nutzlast {"a":"Number", "b":"Number", "op":"string"}, um den Eingang anzugeben.

  • Die GET /{a}/{b}/{op}-Methode verwendet die Pfadparameter, um den Eingang anzugeben.

Ist keine Definition vorhanden, generiert API Gateway den entsprechenden SDK-Methodennamen durch eine Kombination der HTTP-Methode und den Pfadbestandteilen. Der Root-Pfadbestandteil (/) wird als Api Root bezeichnet. Beispiel: Der Standardname der Java-SDK-Methoden für die API-Methode von GET /?a=...&b=...&op=... lautet getABOp, der Standardname der SDK-Methode für POST / lautet postApiRoot und der Standardname der SDK-Methode für GET /{a}/{b}/{op} lautet getABOp. Einzelne SDKs können die Konvention anpassen. Weitere Informationen finden Sie in der Dokumentation in der generierten SDK-Quelle für SDK-spezifische Methodennamen.

Sie können, und sollten, die Standardnamen der SDK-Methode überschreiben, indem Sie die Eigenschaft operationName für jede API-Methode angeben. Dies ist bei Erstellung der API-Methode oder der Aktualisierung der API-Methode mit der API Gateway-REST-API möglich. In der API-Swagger-Definition können Sie die operationId festlegen, um dasselbe Ergebnis zu erzielen.

Bevor wir zeigen, wie diese Methoden mit einem SDK aufgerufen werden, das von API Gateway für diese API generiert wurde, fassen wir die Einrichtung kurz zusammen. Detaillierte Anweisungen finden Sie unter REST-API in Amazon API Gateway erstellen. Wenn API Gateway für Sie neu ist, lesen Sie zuerst API Gateway REST-API mit Lambda-Integration erstellen.

Erstellen von Modellen für Eingaben und Ausgaben

Um stark typisierte Eingaben im SDK anzugeben, erstellen wir ein Input-Modell für die API:

Zur Beschreibung des Antworttext-Datentyps erstellen wir auf ähnliche Weise die folgenden Modelle in API Gateway:

{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "c": {"type":"number"} }, "title": "Output" }

und

{ "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "input":{ "$ref":"https://apigateway.amazonaws.com/restapis/t7dve4zn36/models/Input" }, "output":{ "$ref":"https://apigateway.amazonaws.com/restapis/t7dve4zn36/models/Output" } }, "title":"Result" }

Einrichten von GET-/Abfrageparameter-Methode

Bei der GET /?a=..&b=..&op=..-Methode werden die Abfrageparameter in Method Request angegeben:

Einrichten eines Datenmodells für die Nutzlast als Eingabe für das Backend

Bei der POST /-Methode erstellen wir das Input-Modell und fügen Sie es der Methodenabfrage hinzu, um die Form der Eingabedaten zu definieren.

Bei diesem Modell können Ihre API-Kunden das SDK aufrufen, um die Eingabe eines Input-Objekts zu instanziieren. Ohne dieses Modell müssten die Kunden ein Dictionary-Objekt erstellen, um die JSON-Eingabe in der Lambda-Funktion darzustellen.

Einrichten eines Datenmodells für die Ergebnisausgabe vom Backend

Für alle drei Methoden erstellen wir das Result-Modell und fügen es zur Method Response der Methode hinzu, um die Form der Ausgabe zu definieren, die von der Lambda-Funktion zurückgegeben wird.

Bei diesem Modell können Ihre API-Kunden eine erfolgreiche Ausgabe parsen, indem sie die Eigenschaften für ein Result-Objekt lesen. Ohne dieses Modell müssten die Kunden ein Dictionary-Objekt erstellen, um die JSON-Ausgabe darzustellen.

Darüber hinaus können Sie die API auch nach den Swagger-API-Definitionen erstellen und einrichten.