class-validatorをインストールした

前回はclass-validatorをインストールしDTOと接続した。

が、結果は前回の記事に書いた通りだった。

なので、バリデートを効くようにしたい。

main.tsにバリデートを読み込む

import { ValidationPipe } from '@nestjs/common';
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.useGlobalPipes(new ValidationPipe());
  await app.listen(3000);
}
bootstrap();

つまりバリデートするという指示が漏れていた。

ただこれだとclass-transformerが足りないと怒られる。

class-transformerをインストールする

npm i --save class-transformer

これで怒られなくなった。

間違った情報をPOSTする

$ curl -d '{"firstName":1111, "lastName":"yamada", "isActive":"string"}' -H "Content-Type: application/json" -X POST http://localhost:3000/sample

{"statusCode":400,"message":["firstName must be a string","
isActive must be a boolean value"],"error":"Bad Request"}

よし、怒られたのでオッケー。