[nest.js] plainToInstance

김민재·2025년 2월 11일

nest.js

목록 보기
28/63

plainToInstance란?

class-transformer 라이브러리에서 제공하는 함수로, DTO와 같은 클래스를 정의한 후, 외부로부터 받은 데이터를 해당 클래스로 변환하는 데 유용하다.(보안)

사용 이유

entity 필드를 return 하게 되면, 보안 위험성이 있다.

해결방법

plainToInstance를 이용해서 dto 필드로 반환할 수 있다.

aReqDto, aResDto 이런 식으로 만들어서 요청과 응답 dto를 따로 만든다.

ex)
entity를 return 하게 되면 a_id: 1 이런 식으로 entity의 필드가 보여지게 된다.
dto에 @Expose() 를 이용해서 entity에 필드를 받고, dto에는 aId이런 식으로 필드를 작성한다.
plainToInstance(dto, entity)

profile
개발 경험치 쌓는 곳

0개의 댓글