すべてのプロダクト
Search
ドキュメントセンター

:3. バックエンドの設定

最終更新日:Mar 20, 2020

API を作成します:API バックエンド サービスを定義します

API バックエンド サービス このステップは、バックエンド サービスが受け取る API リクエストのフォーマットを定義します。つまり、先の手順で設定したフロントエンドの API リクエストをいったん API Gateway に送ります。次に、API Gateway がマッピング ルールを解析し、要求に応じてバックエンドにリクエストを送信します。バックエンド サービスの修正コストを最小限にし、最大限に互換性を保証します。

要は、本手順で API Gateway がリクエストをバックエンドに送る際に、リクエストのフォーマットを定義し、定義済みのバックエンド フォーマットと一致させます。

手順 1:バックエンド サービスのアドレス、バックエンドのリクエスト パス、HTTP Method およびタイムアウトしきい値を含め、基本的なバックエンド定義を設定します。

Configure API backend service information

  1. バックエンド サービス アドレス:バックエンド サービスの http(s)://ホスト名:ポート番号 を示します。ドメイン名にすることもできます。例では、バックエンド サービス アドレス https://a.b.com:8080 となります。
  2. バックエンド リクエスト Path: API Gateway がバックエンドにアクセスするために使用するパスを示します。URL の後から “?” まで、バックエンド サービス アドレスが続きます。例では、バックエンドによるリクエストのパスは /region/group形式となります。
  3. フロントエンド設定の例で Path は /getapilist であることに注目、 バックエンドのパスと同じである必要はありませんが、バックエンドのパスにパラメーターが渡す必要があります。詳しく次のセクションで説明します。
  4. バックエンドの method は、フロントエンドのメソッドと同じである必要はありませんが、同じであることを推奨します。例では、POST メソッドを使用しています。

手順 2:バックエンド サービスのパラメーター、とりわけマッピング パラメーターを設定します。

Backend parameter mapping

  1. 上図のとおり、このステップでは、前のステップのフロントエンド入力パラメーターを取得します。左側に赤くハイライトされている 2 列は変更しなければなりません。フロントエンドおよびバックエンドが同じであれば、変更の必要はありません。
  2. フロントエンドでは、region と group Query および Body に設定されていることに注目、ただし、バックエンドでは、これらのパラメーターは Path で受け取るように設定しています。先に設定された Path でエラーメッセージが表示されます。図のとおり変更された後は、本エラーは消えるはずです。
  3. バックエンドで使用されている実際のパラメーター名および受取場所に応じて設定を調整します。図の左に赤くハイライトされている部分は、バックエンド用に修正しなければなりません。右側の設定は、確立されたフロントエンドの設定で、変更はできません。フロントエンドの設定が変更された場合、前の手順に戻って設定を修正しなければなりません。

出来上がった設定は下図のとおりとなります。

Creation complete

Path のパラメーター位置として確実に Parameter Path が選択されるようにします。

固定パラメーターおよびシステム パラメーターは API リクエスト元には見えません。API Gateway が、バックエンドサービスにリクエストを送る際に付け加えられます。

固定パラメーター:たとえば、バックエンドが constant を受け取る必要があるが、ユーザーにこの値を見せたくない場合、固定パラメーターを設定することで constant を Header Query で受け取ることができるようにします。

システム パラメーター:たとえば、ログ統計 API の呼び出しに使用されたアプリ ID を取得する必要がある場合、システム パラメーターを設定して Header Query でアプリ ID を受け取ることができます。CaRequestId フィールドはバックエンドで受け取られるよう強く推奨します。問題を特定し、完全ログを生成するために各リクエストには一意の ID があります。下図を参照。

Constant and system parameters

API を作成します:返される結果を定義します

現時点では、返される結果は API gateway では解析せず、API リクエスト元に直接転送します。