1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWS APIGatewayでパスパラメータの設定を行う

Posted at

はじめに

AWS APIGatewayでAPIを作成する際、URLのパスをパラメータにするやり方を紹介します。

具体的にはこういう感じにしたい場合ですね。

https://xxx.execute-api.ap-northeast-1.amazonaws.com/test/10001

こうではありません。

https://xxx.execute-api.ap-northeast-1.amazonaws.com/test?tokenId=10001

詳細な手順は公式の以下に書いてありますが、ちょっとわかりづらかったので、やさしくまとめました。
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/integrating-api-with-aws-services-lambda.html#api-as-lambda-proxy-expose-get-method-with-path-parameters-to-call-lambda-function

AWS APIGatewayでパスパラメータの設定を行う

GETメソッドを作る

とりあえず普通にGETを作ります。
「アクション」→「メソッドの作成」→GET

リソースを作る

次に、リソースを作ります。
「アクション」→「リソースの作成」
ここでポイントは、リソース名、リソースパスを{tokenId}のように設定することです。
※tokenIdはパラメータ名をセット

スクリーンショット 2021-03-07 23.46.38.png

リソース配下にGETメソッドを作る

さらにリソース配下にGETメソッドを作ります。
「アクション」→「メソッドの作成」→GET

統合リクエスト

マッピングテンプレートの追加

application/json

{
   "tokenId": #if($input.params('tokenId')=='%2F')"/"#{else}"$input.params('tokenId')"#end
}

%2FはURLのエンコーディングを考慮しているようです。

あとはAPIをデプロイしてできあがり。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?