NestJSでDTO(データ転送用オブジェクト)を使用しCRUD操作を行ってみる

nove-b March 22, 2023
Source
検証ライブラリーをインストール これは、見出しの通りPOST時に検証してくるライブラリー。 > デコレータおよび非デコレータ ベースの検証の使用を許可します。内部的には、validator.jsを使用して検証を実行します。Class-validator は、ブラウザと node.js プラットフォームの両方で動作します。 ちなみにバージョンは"class-validator": "^0.14.0"←の通り。 データ転送オブジェクトを作成する データ転送オブジェクト (DTO)とは アプリケーションで受信するデータ用に適切なデータ構造を作成、検証しやすくするもの。 DTO を使うことで、リクエスト本文から抽出されるオブジェクトの形状を指定でき、検証の組み込みが容易になるとのこと。 ちなみにDTOは英語名(Data Transfer Object)と日本語読みの略が一致した稀有な例。 DTO をセットアップする src/sample/dtoにcreate-sample.dto.tsを作成する。ファイルの内容は下記の通り。 上記でフィールドのデータ型が stringorboolean型であるかを確認している。 それぞれのファイルにDTOを読み込む ファイルのインポートは割愛する。 sample.controller.ts ↓に変更する。 sample.service.ts ↓に変更する。 実際にポストしてみる データの作成ができていることを確認できた。 ちなみに Boolean指定のisActiveをstringで送ったらfalseで登録された。 ついでにstring指定の箇所にnumberを送ったらそのままnumberで登録された。 つまりclass-validatorが動いてない。 これは別で調査する。

Discussion in the ATmosphere

Loading comments...