受信リクエストおよび送信レスポンスの変換

API Gatewayを使用してバックエンド・サービスとの間で送受信される受信リクエストおよび送信レスポンスを変更する方法をご紹介します。

多くの場合、APIゲートウェイでは、受信リクエストをバックエンド・サービスに送信する前に変更する必要があります。同様に、APIゲートウェイでバックエンド・サービスから返されたレスポンスを変更することが必要な場合があります。例:

  • バックエンド・サービスでは、特定のHTTPヘッダーのセット(たとえば、Accept-LanguageやAccept-Encoding)を含むリクエストが必要になる場合があります。APIコンシューマおよびAPIクライアントに対してこの実装の詳細を非表示にするには、APIゲートウェイを使用して必要なヘッダーを追加します。
  • 多くの場合、Webサーバーではレスポンス・ヘッダーに完全なバージョン情報が含まれます。セキュリティ上の理由から、APIコンシューマおよびAPIクライアントに基礎となるテクノロジ・スタックを知られないようにすることが必要な場合もあります。APIゲートウェイを使用して、サーバー・ヘッダーをレスポンスから削除できます。
  • バックエンド・サービスでは、レスポンスに機密情報が含まれる場合があります。APIゲートウェイを使用して、このような情報を削除できます。

APIゲートウェイを使用して、次のことができます:

  • リクエストおよびレスポンスのヘッダーを追加、削除および変更します。
  • リクエストの問合せパラメータを追加、削除および変更します。
  • レガシー・アプリケーションおよび移行をサポートするために、リクエストURLをパブリック形式から内部形式に書き換えます。

リクエストおよびレスポンス・ポリシーを使用して、受信リクエストのヘッダーと問合せパラメータ、および送信レスポンスのヘッダーを変換します(APIデプロイメント仕様へのリクエスト・ポリシーとレスポンス・ポリシーの追加を参照)。

ヘッダーおよび問合せパラメータの変換リクエストおよびレスポンス・ポリシーにコンテキスト変数を含めることができます。コンテキスト変数を含めると、他のヘッダー、問合せパラメータ、パス・パラメータおよび認証パラメータの値を使用して、ヘッダーおよび問合せパラメータを変更できます。コンテキスト変数値の値は元のリクエストまたはレスポンスから抽出され、APIゲートウェイは変換ポリシーを使用してリクエストまたはレスポンスを評価するため、その後更新されないことに注意してください。コンテキスト変数の詳細は、ポリシーおよびHTTPバック・エンド定義へのコンテキスト変数の追加を参照してください。

ヘッダーまたは問合せパラメータの変換リクエストまたはレスポンス・ポリシーによって無効なヘッダーまたは問合せパラメータが生成される場合、変換ポリシーは無視されます。

ヘッダー変換ポリシーを使用して、特定の保護されたリクエストおよびレスポンス・ヘッダーを変換することはできません。保護されたリクエスト・ヘッダーおよびレスポンス・ヘッダーを参照してください。

次の方法で、ヘッダーおよび問合せパラメータの変換リクエストおよびレスポンス・ポリシーをAPIデプロイメント仕様に追加できます:

  • コンソールの使用
  • JSONファイルの編集

目次: