

# API Gateway で REST API を呼び出す
<a name="how-to-call-api"></a>

デプロイされた API を呼び出すには、API 実行の `execute-api` コンポーネントサービス (API Gateway と呼ばれます) の URL にクライアントがリクエストを送信します。

REST API のベース URL の形式は以下のとおりです。

```
https://api-id.execute-api.region.amazonaws.com/stage/
```

*api\$1id* は API ID、*region* は AWS リージョン、*stage* は API デプロイのステージ名です。

**重要**  
API を呼び出す前に、API Gateway でデプロイする必要があります。API をデプロイする手順については、「[API Gateway で REST API をデプロイする](how-to-deploy-api.md)」を参照してください。

**Topics**
+ [API の呼び出し URL の取得](#apigateway-how-to-call-rest-api)
+ [API の呼び出し](#apigateway-call-api)
+ [API Gateway コンソールを使用して REST API メソッドをテストする](how-to-test-method.md)
+ [REST API 用に API Gateway で生成された Java SDK を使用する](how-to-call-apigateway-generated-java-sdk.md)
+ [REST API 用に API Gateway で生成された Android SDK を使用する](how-to-generate-sdk-android.md)
+ [REST API 用に API Gateway で生成された JavaScript SDK を使用する](how-to-generate-sdk-javascript.md)
+ [API Gateway によって生成された Ruby SDK を REST API で使用する](how-to-call-sdk-ruby.md)
+ [Objective-C または Swift で REST API 用に API Gateway で生成された iOS SDK を使用する](how-to-generate-sdk-ios.md)

## API の呼び出し URL の取得
<a name="apigateway-how-to-call-rest-api"></a>

API の呼び出し URL を取得するには、コンソール、AWS CLI、またはエクスポートされた OpenAPI 定義を使用できます。

### コンソールを使用した API の 呼び出し URL の取得
<a name="apigateway-obtain-url-console"></a>

次の手順では、REST API コンソールで API の呼び出し URL を取得する方法を示します。

**REST API コンソールを使用して API の 呼び出し URL を取得するには**

1. [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway) で API Gateway コンソールにサインインします。

1. デプロイされた API を選択します。

1. メインのナビゲーションペインで、**[ステージ]** を選択します。

1. **[ステージの詳細]** で、コピーアイコンを選択して API の呼び出し URL をコピーします。

   この URL は API のルートリソース用です。  
![\[REST API を作成すると、コンソールに API の呼び出し URL が表示されます。\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/getting-started-rest-invoke-url.png)

1. API で別のリソース用の API の呼び出し URL を取得するには、セカンダリナビゲーションペインでステージを展開し、メソッドを選択します。

1. コピーアイコンを選択して API のリソースレベルの呼び出し URL をコピーします。  
![\[REST API のリソースレベルの URL は、ステージのセカンダリナビゲーションペインの下にあります。\]](http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/images/resource-level-invoke-url.png)

#### AWS CLI を使用した API の呼び出し URL の取得
<a name="apigateway-obtain-url-cli"></a>

次の手順では、AWS CLI を使用して API の呼び出し URL を取得する方法を示します。

**AWS CLI を使用した API の 呼び出し URL の取得**

1. `rest-api-id` を取得するには、次のコマンドを使用します。このコマンドは、リージョンのすべての `rest-api-id` 値を返します。詳細については、「[get-rest-apis](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-rest-apis.html)」を参照してください。

   ```
   aws apigateway get-rest-apis
   ```

1. 例の `rest-api-id` を独自の `rest-api-id`、例の *\$1stage-name\$1* を独自の *\$1stage-name\$1*、*\$1region\$1* を独自のリージョンに置き換えます。

   ```
   https://{restapi_id}.execute-api.{region}.amazonaws.com/{stage_name}/
   ```

##### API のエクスポートされた OpenAPI 定義ファイルを使用した API の呼び出し URL の取得
<a name="apigateway-obtain-url-openapi"></a>

API のエクスポートされた OpenAPI 定義ファイルの `host` フィールドと `basePath` フィールドを組み合わせてルート URL を構築することもできます。API のエクスポート方法の手順については、「[API Gateway から REST API をエクスポートする](api-gateway-export-api.md)」を参照してください。

## API の呼び出し
<a name="apigateway-call-api"></a>

デプロイした API は、ブラウザ、curl、または他のアプリケーション ([Postman](https://www.postman.com/) など) を使用して呼び出すことができます。

さらに、API Gateway コンソールを使用して API コールをテストすることもできます。テストでは API Gateway の `TestInvoke` 機能を使用します。これにより、API をデプロイする前に API をテストできます。詳細については、「[API Gateway コンソールを使用して REST API メソッドをテストする](how-to-test-method.md)」を参照してください。

**注記**  
呼び出し URL のクエリ文字列パラメーターの値に `%%` を含めることはできません。

### ウェブブラウザを使用した API の呼び出し
<a name="apigateway-call-api-brower"></a>

API が匿名アクセスを許可する場合は、任意のウェブブラウザを使用して `GET` メソッドを呼び出すことができます。ブラウザのアドレスバーに完全な呼び出し URL を入力します。

他のメソッドや認証が必要な呼び出しについては、ペイロードを指定するか、リクエストに署名する必要があります。HTML ページの裏のスクリプトで、または AWS SDK の 1 つを使用して、クライアントのアプリケーションで処理することができます。

#### curl を使用した API の呼び出し
<a name="apigateway-call-api-curl"></a>

ターミナルで [curl](https://curl.se/) などのツールを使用して API を呼び出すことができます。次の curl コマンドの例では、API の `prod` ステージの `getUsers` リソースで GET メソッドを呼び出します。

------
#### [ Linux or Macintosh ]

```
curl -X GET 'https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod/getUsers'
```

------
#### [ Windows ]

```
curl -X GET "https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod/getUsers"
```

------