1
1

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 5 years have passed since last update.

APIGateway Request Validationについて(GET/POST)

Last updated at Posted at 2019-11-30

#お題
リクエストパラメーター(GET/POST)をチェックする。

#GETパラメーターのチェック
こちらは非常に簡単

メソッドリクエストで以下二つを設定すればよい。
①リクエストの検証に、クエリ文字列パラメータを含める
②URL クエリ文字列パラメータにパラメータを設定し必須にチェック

⇒これで、GETパラメータの必須チェックが完成
 ※GETは必須チェックしかできないようにみえる(マニュアルを見る感じだと)

image.png

#POSTパラメーターのチェック
※これが最初よくわからなかった(笑)

▼メモ
・POSTパラメーターはリクエストボディにのる

POSTパラメーターはリクエスト本文のチェックである。
また、JSONスキーマモデルを作成しチェックを行う。
####①モデルを作成
str変数の必須/文字列チェック
image.png

####②モデルをメソッドリクエストのリクエスト本文に紐づける
リクエストの検証に本文を含め、リクエスト本文にモデルを設定する
image.png

これにより、POSTのチェックが行われる。
正確にいうと、POSTのJSON形式(Content-Type: application/json)のチェックが行われる。

私が見慣れている画面入力をPOSTするような、Content-Type(application/x-www-form-urlencoded”)のデータはチェックできなさそう。。

あっているのか。。('ω')

application/json.
{
  "str": "abc",
  "int": 123
}
application/x-www-form-urlencoded.
str=abc&int=123

#仮にPOSTのWEBAPIを作成するとなったら、どちらを使うべきか
application/jsonのメリットは、ネストできる、型を指定できるところかな。

application/json
application/x-www-form-urlencoded

※API設計書にもcontent-typeを記載しないといけないですね。
 getの場合はcontent-type不要なので気にしていなかったですが。

#参考 勉強になりました!

https://www.slideshare.net/pospome/rest-api-57207424
https://www.slideshare.net/MonstarLabInc/rest-ful-api
https://qiita.com/mserizawa/items/b833e407d89abd21ee72

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?