前回、API Gatewayを使ってPOST用のMockを作成しました。
API GatewayでPOST用のMockを作る
ただ作成したMockはURIが合っていればPOSTするパラメータは何を送っても正しいとされてレスポンスが返ってきました。
今回は、パラメータ内容を検証する処理を追加してみます。
スポンサーリンク
モデル作成
パラメータ検証の条件を設定するものをモデルというようです。こちらを作成します。
モデルのスキーマに以下の通り記述し、モデルを作成します。
内容は
・idは数値型、nameは文字列型
・idは必須パラメータとする
と設定しました。
{
"title": "MyPostTest",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"name": {
"type": "string"
}
},
"required": ["id"]
}
メソッドの実行からメソッドリクエストを選択します。
リクエストの検証を「本文の検証」として右側のチェック印をクリックします。
次にリクエスト本文にモデルの追加から、先ほど作成したMyModelを追加します。
テスト
テストします。
まずは、リクエストにidとnameを両方正しく入力した場合。
正しくレスポンスされます。
続いて、idを除いてリクエストした場合。
モデルでidの入力を必須としているので、レスポンスも"Invalid request body"と返ってきます。
まとめ
API Gatewayのリクエスト検証を試してみました。
モデルを作成してメソッドリクエストに追加するという流れだけでしたので簡単にできました。