ngtokuの日記

主に雑記帳です。SNSではngtokuのID取れなかったんで、別のIDでやってます。

Lambda経由でYOLPを呼んでみる(GET版)

そう言えばGETで直接呼ぶやり方やってないやんって気がついたので補足。
基本的にはここをなぞっているだけなので、ここ読めば良いよ。
API Gateway で AWS Lambda 関数の REST API を作成する - Amazon API Gateway


API Gatewayからリソースの作成を選択。
f:id:ngtoku:20190126232058p:plain


リソース名とリソースパスを以下のように設定。
今回は エリアコード/ジャンルコード というURLパスにするので acが先で、
f:id:ngtoku:20190126232247p:plain


次にgc
f:id:ngtoku:20190126232312p:plain


メソッドの作成でGETを選択。
f:id:ngtoku:20190126232428p:plain


Lambda関数は例によって同じやつ。
f:id:ngtoku:20190126232504p:plain


統合リクエストからマッピングテンプレートを選択し、content-typeにapplication/jsonを記載して
f:id:ngtoku:20190126232705p:plain


テンプレートエディタに以下のように記載。これでPOSTの時と同じようにLambdaにJSONが飛んでいく。
f:id:ngtoku:20190126232816p:plain


念のためテストで確認。
f:id:ngtoku:20190126233100p:plain


うまく動いたらAPIをデプロイして完成。
あとはこんな感じでデプロイしたAPIにリクエスト投げてみて、JSON返ってきてるなーと確認。
https://xxxxx.xxxxx-xx.xx-xxxx-x.amazonaws.com/xxxxxxx/13103/0110/

以下みたいにエリアコードだけでもレスポンスを得たければ、{ac}の直下にメソッドを足す必要があるよ。
https://xxxxx.xxxxx-xx.xx-xxxx-x.amazonaws.com/xxxxxxx/13103/

メソッド足さない状態でアクセスしたら「{"message":"Missing Authentication Token"}」だって。

めでたしめでたし。