반응형
npm install @nestjs/mapped-types
CreateUserDto
export class CreateUserDto {
name: string;
email: string;
password: string;
}
PartialType() 함수를 사용하여 새로운 타입을 생성
import { PartialType } from '@nestjs/mapped-types';
export class UpdateUserDto extends PartialType(CreateUserDto) {}
위 코드에서 UpdateUserDto는 CreateUserDto를 기반으로 생성되며, 모든 속성이 선택적으로 변경됩니다. 즉, UpdateUserDto는 다음과 같이 정의된 것과 동일합니다.
export class UpdateUserDto {
name?: string;
email?: string;
password?: string;
}
생성된 UpdateUserDto를 컨트롤러나 서비스에서 사용합니다.
@Patch(':id')
updateUser(@Param('id') id: string, @Body() updateUserDto: UpdateUserDto) {
return this.usersService.update(id, updateUserDto);
}
위 코드에서 updateUserDto는 UpdateUserDto 타입으로 정의되어 있으므로, 클라이언트에서 보낸 요청 데이터 중 일부 속성만 포함될 수 있습니다.
이렇게 PartialType을 사용하면 기존 타입을 재사용하면서도 업데이트 작업에 필요한 선택적 속성을 쉽게 정의할 수 있습니다.
반응형
'Web Dev > Javascript' 카테고리의 다른 글
사용자 브라우저 액션 반응 형 JavaScript code : 설문조사 완료 후 버튼 활성 (0) | 2024.07.22 |
---|---|
Nest.js 백엔드 Pipe 사용법에 대해 (0) | 2024.06.07 |
Nest.js 데코레이션으로 DTO (Data Transfer Object) 유효성 구성하는 방법 (0) | 2024.05.14 |
Nest.js의 내장된 코드 테스트 기능 ! Jest 로 하는 유닛테스트 , e2e 테스트 (0) | 2024.04.24 |
Nest.js 는 Node.js 의 프레임워크 오케이 ? RestAPI 만들어 보자 (1) | 2024.04.19 |
[Javascript] 자바스크립트에서 Textarea 값 읽어오기 쉽지만 까먹죠 ! (3) | 2023.12.05 |