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)