Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie Routen für HTTP-APIs in API Gateway
Routen leiten eingehende API-Anfragen an Backend-Ressourcen. Routen bestehen aus zwei Teilen: einer HTTP-Methode und einem Ressourcenpfad, zum Beispie, GET /pets
. Sie können spezifische HTTP-Methoden für Ihre Route definieren. Sie können auch die Methode ANY
verwenden, um alle Methoden abzugleichen, die Sie nicht für eine Ressource definiert haben. Sie können eine $default
-Route erstellen, die als Catch-All für Anfragen fungiert, die nicht mit anderen Routen übereinstimmen.
Anmerkung
API Gateway dekodiert URL-kodierte Anforderungsparameter vor deren Übergabe an Ihre Backend-Integration.
Arbeiten mit Pfadvariablen
Sie können Pfadvariablen in HTTP-API-Routen verwenden.
Beispielsweise fängt die Route GET /pets/{petID}
eine GET
-Anforderung ab, die ein Client an https://
sendet. api-id
.execute-api.us-east-2
.amazonaws.com/pets/6
Eine gierige Pfadvariable fängt alle untergeordneten Ressourcen einer Route ab. Um eine gierige Pfadvariable zu erstellen, fügen Sie +
dem Variablennamen hinzu, z. B. {proxy+}
. Die gierige Pfadvariable muss am Ende des Ressourcenpfads stehen.
Arbeiten mit Abfragezeichenfolgenparametern
API Gateway sendet standardmäßig Abfragezeichenfolgenparameter an Ihre Backend-Integration, sofern sie in einer Anforderung an eine HTTP-API enthalten sind.
Wenn beispielsweise ein Client eine Anforderung an https://
sendet, werden die Abfragezeichenfolgenparameter api-id
.execute-api.us-east-2
.amazonaws.com/pets?id=4&type=dog
?id=4&type=dog
an Ihre Integration gesendet.
Arbeiten mit der $default
-Route
Die $default
-Route fängt Anforderungen ab, die nicht explizit mit anderen Routen in Ihrer API übereinstimmen.
Wenn die $default
-Route eine Anforderung empfängt, sendet API Gateway den vollständigen Anforderungspfad an die Integration. Beispielsweise können Sie eine API nur mit einer $default
-Route erstellen und sie in der Methode ANY
mit dem HTTP-Endpunkt https://petstore-demo-endpoint.execute-api.com
integrieren. Wenn Sie eine Anforderung an https://
senden, sendet API Gateway eine Anforderung an api-id
.execute-api.us-east-2
.amazonaws.com/store/checkouthttps://petstore-demo-endpoint.execute-api.com/store/checkout
.
Weitere Informationen zu HTTP-Integrationen finden Sie unter Erstellen Sie HTTP-Proxyintegrationen für HTTP-APIs.
Weiterleiten von API-Anforderungen
Wenn ein Client eine API-Anforderung sendet, bestimmt API Gateway zuerst, an welche Stufe die Anforderung weitergeleitet werden soll. Wenn die Anforderung explizit mit einer Stufe übereinstimmt, sendet API Gateway die Anforderung an diese Stufe. Wenn keine Stufe vollständig mit der Anforderung übereinstimmt, sendet API Gateway die Anforderung an die $default
-Stufe. Wenn es keine $default
Phase gibt, kehrt die API zurück {"message":"Not
Found"}
und generiert keine CloudWatch Protokolle.
Nachdem Sie eine Stufe ausgewählt haben, wählt API Gateway eine Route aus. API Gateway wählt die Route mit der spezifischsten Übereinstimmung aus, wobei die folgenden Prioritäten verwendet werden:
Vollständige Übereinstimmung für eine Route und Methode.
Übereinstimmung für eine Route und eine Methode mit einer gierigen Pfadvariable (
{proxy+}
).Die
$default
-Route.
Wenn keine Routen mit einer Anforderung übereinstimmen, gibt API Gateway {"message":"Not Found"}
an den Client zurück.
Betrachten Sie beispielsweise eine API mit einer $default
-Stufe und den folgenden Beispielrouten:
GET /pets/dog/1
GET /pets/dog/{id}
GET /pets/{proxy+}
ANY /{proxy+}
$default
In der folgenden Tabelle wird zusammengefasst, wie API Gateway Anforderungen an die Beispielrouten weiterleitet.
Anfrage | Ausgewählte Route | Erklärung |
---|---|---|
|
|
Die Anforderung entspricht vollständig dieser statischen Route. |
|
|
Die Anforderung stimmt vollständig mit dieser Route überein. |
|
|
Die Anforderung stimmt nicht vollständig mit einer Route überein. Die Route mit einer |
|
|
Die Methode |