LoginSignup
0
1

More than 1 year has passed since last update.

40代おっさんREST API サーバーレスを学ぶ③

Posted at

本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

前回

https://qiita.com/kou1121/items/f3a1a67c3aab6d89dd58

REST API リソース作成

API Gatewayを開く

APIタイプを選択で REST API 選択

選択したら画面遷移しますので

API作成.png

プロトコルを選択を
REST

新しいAPIの作成
新しいAPI

API名を入れてください

入れましたらAPIの作成をクリック

リソース

リソースを選びます。

次にリソースのアクションを選び
リソースの作成を選ぶ

リソース名を入れたら
右下のリソースの作成をクリック

postメソッド

先ほど作ったリソースに紐づくメソッドを作成
先ほどのリソースを選んだ状態でアクションのメソッドをクリックしますと
メソッドの作成を選べますのでそれをクリック

そうすると自分の作ったリソースにプルダウンメニューが現れますので
そちらからpostを選択、そして✅ボタンを押してください。

統合タイプは
Lambda関数

Lambdaリージョン
そのまま

Lambda関数
これはこのAPIにpostメソッドで呼ばれたときに、どのLambda関数呼ばれるかの紐づけを行う。
先ほど作ったusers-post-functionを入れる。
保存ボタンをクリック
ポップアップが出てくるので、問題がなければOKをクリック

次にマッピングテンプレートの定義をするために
統合リクエストをクリック
一番下にマッピングテンプレートがあると思いますのでそこを開いてください
次にマッピングテンプレートの追加をクリック
application/jsonと入れて✅ボタンをクリック
ポップアップが出てくるので
「はい、この統合を保護します」
をクリック

マッピングテンプレートの入力を行えるので

{
    "body" : "$util.escapeJavaScript($input.body)"
}

json形式であり、keyとvalue形式になっている。
$input クライアントからのリクエストパラメーターを指す
Httpのリクエストパラメーターはヘッダーとボディに分かれており、
$input.bodyでリクエストパラメーターのボディ部を取ることが書かれている。

escapeJavaScriptを使用して必要な文字はエスケープを行う。

こちらが終わりましたら保存ボタンをおしてください。
(何も出ません)

APIのデプロイ

postメソッドを選んだ状態で
アクションをクリックすると
APIのデプロイがありますのでそれをクリック

デプロイされるステージ
新しいステージ

ステージ名
今回は users-stage

終わったらデプロイをクリック

URLの呼び出しと出ますのでこれで大丈夫です。

getメソッド

上を参考

{
    "id" : "$input.params('id')"
}

params リクエストパラメーターを取ってくる

APIのデプロイ

ステージをusers-stageを選択

putメソッド

上を参考

{
    "body" : "$util.escapeJavaScript($input.body)"
}

APIのデプロイ

ステージをusers-stageを選択

putメソッド

上を参考

{
    "body" : "$util.escapeJavaScript($input.body)"
}

APIのデプロイ

ステージをusers-stageを選択

deleteメソッド

上を参考

{
    "id" : "$input.params('id')"
}

APIのデプロイ

ステージをusers-stageを選択

参考

0
1
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
0
1