

# API Gateway で HTTP API を開発する
<a name="http-api-develop"></a>

このセクションでは、API Gateway API の開発中に必要な API Gateway 機能について詳しく説明します。

API Gateway API の開発中、API の特性をいくつか決定することになります。これらの特性は API のユースケースによって異なります。たとえば、API を特定のクライアントのみが呼び出せるようにしたり、すべてのユーザーが利用できるようにしたりできます。API コールで Lambda 関数の実行、データベースクエリの作成やアプリケーションの呼び出しができます。

**Topics**
+ [HTTP API を作成する](#http-api-examples)
+ [API Gateway で HTTP API のルートを作成する](http-api-develop-routes.md)
+ [API Gateway の HTTP API の IP アドレスタイプ](http-api-ip-address-type.md)
+ [API Gateway で HTTP API へのアクセスを制御および管理する](http-api-access-control.md)
+ [API Gateway で HTTP API の統合を作成する](http-api-develop-integrations.md)
+ [API Gateway で HTTP API の CORS を設定する](http-api-cors.md)
+ [API Gateway で HTTP API の API リクエストとレスポンスを変換する](http-api-parameter-mapping.md)
+ [API Gateway で HTTP API の OpenAPI 定義を使用する](http-api-open-api.md)

## HTTP API を作成する
<a name="http-api-examples"></a>

機能する API を作成するには、少なくとも 1 つのルート、統合、ステージ、およびデプロイが必要です。

次の例は、AWS Lambda または HTTP 統合、ルート、および変更を自動的にデプロイするように設定されたデフォルトステージを持つ API を作成する方法を示しています。

このガイドは、ユーザーが既に API Gateway と Lambda に関する知識を持っていることを前提としています。より詳細なガイドについては、「[API Gateway の使用を開始する](getting-started.md)」を参照してください。

**Topics**
+ [を使用して HTTP API を作成するAWS マネジメントコンソール](#apigateway-http-api-create.console)
+ [AWS CLI を使用して HTTP API を作成する](#http-api-examples.cli.quick-create)

### を使用して HTTP API を作成するAWS マネジメントコンソール
<a name="apigateway-http-api-create.console"></a>

1. [API Gateway コンソール](https://console.aws.amazon.com/apigateway)を開きます。

1. [**Create API**] を選択します。

1. [**HTTP API**] で、[**Build (ビルド)**] を選択します。

1. [**統合の追加**] を選択し、AWS Lambda 関数を選択するか、HTTP エンドポイントを入力します。

1. [**Name (名前)**] に、API の名前を指定します。

1. [**Review and create**] を選択します。

1. [**Create**] を選択します。

これで、API を呼び出す準備ができました。API をテストするには、呼び出し URL をブラウザに入力するか、Curl を使用します。

```
curl https://{{api-id}}.execute-api.{{us-east-2}}.amazonaws.com
```

### AWS CLI を使用して HTTP API を作成する
<a name="http-api-examples.cli.quick-create"></a>

クイック作成を使用して、Lambda または HTTP 統合、デフォルトのキャッチオールルート、変更を自動的にデプロイするように設定されたデフォルトステージを持つ API を作成できます。次の [create-api](https://docs.aws.amazon.com/cli/latest/reference/apigatewayv2/create-api.html) コマンドは、クイック作成を使用して、バックエンドの Lambda 関数と統合する API を作成します。

**注記**  
Lambda 統合を呼び出すには、必要なアクセス許可が API Gateway に必要です。リソースベースのポリシーまたは IAM ロールを使用して、Lambda 関数を呼び出す API Gateway のアクセス許可を付与できます。詳細については、[AWS Lambda デベロッパーガイド](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html)の「*AWS Lambda のアクセス許可*」を参照してください。

**Example**  

```
aws apigatewayv2 create-api --name {{my-api}} --protocol-type HTTP --target arn:aws:lambda:{{us-east-2}}:{{123456789012}}:function:{{function-name}}
```

これで、API を呼び出す準備ができました。API をテストするには、呼び出し URL をブラウザに入力するか、Curl を使用します。

```
curl https://{{api-id}}.execute-api.{{us-east-2}}.amazonaws.com
```