Eingehende Anforderungen und ausgehende Antworten transformieren
Erfahren Sie, wie Sie eingehende Anforderungen und ausgehende Antworten ändern können, die mit API Gateway an und von Backend-Services gesendet werden.
Es gibt häufig Situationen, in denen Sie mit einem API-Gateway eingehende Anforderungen ändern möchten, bevor sie an Backend-Services gesendet werden. Ebenso möchten Sie möglicherweise mit einem API-Gateway Antworten ändern, die von Backend-Services zurückgegeben werden. Beispiel:
- Backend-Services erfordern möglicherweise Anforderungen, die ein bestimmtes HTTP-Headerset enthalten (z.B. Accept-Language und Accept-Encoding). Um diese Implementierungsdetails für API-Consumers und API-Clients auszublenden, können Sie die erforderlichen Header mit dem API-Gateway hinzufügen.
- Webserver fügen in Antwortheadern häufig die vollständigen Versionsinformationen ein. Aus Sicherheitsgründen möchten Sie möglicherweise verhindern, dass API-Consumers und API-Clients Informationen zum zugrunde liegenden Technologiestack erhalten. Mit dem API-Gateway können Sie Serverheader aus Antworten entfernen.
- Backend-Services können sensible Informationen in eine Antwort aufnehmen. Mit Ihrem API-Gateway können Sie solche Informationen entfernen.
Mit einem API-Gateway können Sie:
- Header in Anforderungen und Antworten hinzufügen, entfernen und ändern.
- Abfrageparameter in Anforderungen hinzufügen, entfernen und ändern.
- Anforderungs-URLs aus einem öffentlichen Format in ein internes Format umschreiben, beispielsweise um Legacy-Anwendungen und Migrationen zu unterstützen.
Sie verwenden Anforderungs- und Antwort-Policys, um die Header und Abfrageparameter eingehender Anforderungen und die Header ausgehender Antworten zu transformieren (siehe Anforderungs-Policys und Antwort-Policys zu API-Deployment-Spezifikationen hinzufügen).
Sie können kontextabhängige Variablen in Transformationsanforderungs- und Transformationsantwort-Policys für Header und Abfrageparameter aufnehmen. Mit kontextabhängigen Variablen können Sie Header und Abfrageparameter mit den Werten anderer Header, Abfrageparameter, Pfadparameter und Authentifizierungsparameter ändern. Beachten Sie, dass Werte von kontextabhängigen Variablen aus der ursprünglichen Anforderung oder Antwort extrahiert und anschließend nicht aktualisiert werden, da ein API-Gateway eine Transformations-Policy verwendet, um eine Anforderung oder Antwort auszuwerten. Weitere Informationen zu kontextabhängigen Variablen finden Sie unter Kontextabhängige Variablen zu Policys und HTTP-Backend-Definitionen hinzufügen.
Wenn eine Transformationsanforderungs- oder Transformationsantwort-Policy für einen Header oder Abfrageparameter zu einem ungültigen Header oder Abfrageparameter führt, wird die Transformations-Policy ignoriert.
Beachten Sie, dass Sie bestimmte geschützte Anforderungs- und Antwortheader nicht mit Headertransformations-Policys transformieren können. Siehe Header und Antwortheader für geschützte Anforderungen.
Sie können einer API-Deployment-Spezifikation Transformationsanforderungs- und Transformationsantwort-Policys für Header und Abfrageparameter hinzufügen, indem Sie:
- die Konsole verwenden
- eine JSON-Datei bearbeiten
Inhalt: