extends PartialType
POST, UPDATE 요청을 처리할 때 데이터 삽입에 대한 DTO, 데이터 수정에 대한 DTO를 만든다. 일반적으로 데이터 수정 DTO는 삽입 시의 DTO에 종속된다. 수정시의 DTO에 들어가는 개체가 삽입시의 DTO에 들어있는 개체에 포함된다는 것이다.
그런 상황에서 사용할 수 있는 것이 PartialType
다.
POST 처리를 위한 DTO가 CreateDto
라고 가정하면,
1 | import { IsNumber, IsOptional, IsString } from 'class-validator'; |
이런식이 된다. 이제 이 클래스를 UpdateDto
에도 재사용할 수 있다.
1 | import { PartialType } from '@nestjs/mapped-types'; |
위처럼 extends PartialType(상위DTO)
를 통해 선택적으로 종속받을 수 있다.