Anfragevalidierung in API Gateway aktivieren - Amazon API Gateway

Anfragevalidierung in API Gateway aktivieren

Sie können API Gateway so konfigurieren, dass es eine grundlegende Validierung einer API-Anfrage durchführt, bevor es mit der Integrationsanfrage fortfährt. Wenn die Validierung fehlschlägt, behandelt API Gateway die Anfrage sofort als fehlgeschlagen, gibt eine 400-Fehler-Antwort an den Aufrufer zurück und veröffentlicht die Validierungsergebnisse in CloudWatch Logs. Damit werden unnötige Aufrufe im Backend vermieden. Vor allem aber können Sie die Validierung so speziell auf die Anwendung ausrichten.

Überblick über die grundlegende Anfragevalidierung in API Gateway

API Gateway kann die grundlegende Validierung durchführen. Damit können Sie als API-Developer sich auf die umfangreiche App-bezogene Validierung im Backend konzentrieren. Für die grundlegende Validierung überprüft API Gateway eine oder beide der folgenden Bedingungen:

  • Die erforderlichen Anforderungsparameter in der URI, Abfragezeichenfolge und Header einer eingehenden Anforderung sind vorhanden und nicht leer/null.

  • Die entsprechende Anforderungsnutzlast entspricht dem konfigurierten JSON-Schema-Anforderungsmodell der Methode.

Zum Aktivieren der grundlegenden Validierung legen Sie Validierungsregeln für eine Anfragevalidierung fest, fügen diese der zugewiesenen Anfragevalidierung für die API hinzu und ordnen anschließend die Validierung den einzelnen API-Methoden zu.

Anmerkung

Die Validierung des Anforderungstextes und das Pass-Through des Anforderungstextes sind zwei unterschiedliche Prozesse. Wenn die Nutzlast einer Anforderung nicht validiert werden kann, weil kein passendes Modellschema vorhanden ist, können Sie Pass-Through wählen oder die ursprüngliche Nutzlast blockieren.

Wenn Sie beispielsweise die Anforderungsvalidierung mit einer Mapping-Vorlage für den Medientyp application/json aktivieren, sollten Sie eine XML-Nutzlast über das Backend übergeben, obwohl die aktivierte Anforderungsvalidierung in diesem Fall fehlschlägt. Diese Situation kann sich ergeben, wenn Sie davon ausgehen, dass Sie in Zukunft die XML-Nutzlast für die Methode unterstützen werden. Damit die Anforderung mit einer XML-Nutzlast fehlschlägt, müssen Sie für das Pass-Through-Verhalten für den Content ausdrücklich die Option NEVER wählen.