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"}
よし、怒られたのでオッケー。