メニュー
Amazon API Gateway
開発者ガイド

Swagger basePath プロパティの設定

Swagger では、basePath プロパティを使用して、パスプロパティに定義された各パスに先行する 1 つ以上のパス部分を提供できます。API Gateway にはリソースのパスを表現するために複数の方法があるため、API のインポート機能には、インポート中に basePath プロパティを解釈するための 3 つのオプションが用意されています。

ignore

Swagger ファイルの basePath の値が /a/b/c で、paths プロパティに /e および /f が含まれる場合に、次の POST または PUT リクエストがあるとします。

POST /restapis?mode=import&basepath=ignore
PUT /restapis/api_id?basepath=ignore

この場合、API で次のリソースが発生します。

  • /

  • /e

  • /f

その効果として、basePath を、これが存在しなかったかのように扱い、宣言された API のすべてのリソースは、ホストに対して相対的に提供されます。これを使用できるのは、たとえば、基本パスを含まない API マッピングや、本番ステージを参照するステージ値を持つカスタムドメイン名がある場合です。

注記

API Gateway は、定義ファイルに明示的にされていない場合でも、自動的にルートリソースを作成します。

指定しない場合、basePath はデフォルトで ignore を受け取ります。

prepend

Swagger ファイルの basePath の値が /a/b/c で、paths プロパティに /e および /f が含まれる場合に、次の POST または PUT リクエストがあるとします。

POST /restapis?mode=import&basepath=prepend
PUT /restapis/api_id?basepath=prepend

この場合、API で次のリソースが発生します。

  • /

  • /自

  • /a/b

  • /a/b/c

  • /a/b/c/e

  • /a/b/c/f

その効果として、(メソッドなしで) 追加のリソースとして basePath を処理し、宣言されたリソースセットに追加します。これを使用できるのは、たとえば、さまざまなチームが API パートの異なる部分を担当し、basePath が各チームの API 部分のパスの場所を参照できる場合です。

注記

API Gateway は、定義に明示的に宣言されていない場合でも、自動的に中間リソースを作成します。

split

Swagger ファイルの basePath の値が /a/b/c で、paths プロパティに /e および /f が含まれる場合に、次の POST または PUT リクエストがあるとします。

POST /restapis?mode=import&basepath=split
PUT /restapis/api_id?basepath=split

この場合、API で次のリソースが発生します。

  • /

  • /b

  • /b/c

  • /b/c/e

  • /b/c/f

その効果として、最上位のパス部分 "/a" を、各リソースのパスの先頭として扱い、API 内で (メソッドなしで) 追加のリソースを作成します。これを使用できるのは、たとえば、"a" が、API の一部として公開するステージ名である場合です。

このページの内容: