前回、Node.js 向け ORM Sequelize のバリデーションとエラーハンドリングでSequelizeのバリデーションを試したので、
Express を絡めた RESTAPI の作成で作成した RESTAPI をバリデーションを踏まえて修正してみます。
目次
実装
前回から引き続き、アクセスするモデルは文字列name
と整数age
を持つUser
です。
それぞれのバリデーションの内容は以下の通りです。
- name
- null 禁止
- 空文字列禁止
- 文字列長を 1~20 に拘束
- age
- null 禁止
- 空文字禁止
- 整数に拘束
- 最小値を 12 に拘束
- 最大値を 100 に拘束
上記に基づいて、設定した User モデルが以下のuser.js
となります。
1 | ; |
こちらを呼び出す、Express アプリのコードが以下の通りです。
1 | //Express関連読み込み |
こちらをnode src\index.js
で起動します。
適当な REST クライアントでアクセスし、動作確認します。
バリデーションによってはじかれることを確認できるはず。
以前バリデーションが無いために機能しなかった create と update はのエラー処理が機能するようになりました。
一旦ここまで出来れば、シンプルなものは作れそうです。
Rails を挟んで一般的な形を一旦学べたことは Node.js の学習を進めるうえでも非常に良かったです。
次は、複数モデルの関連付けになるのかなと思う次第です。
ではでは