본문 바로가기
내일배움캠프(Sparta)/Spring

[Spring] DTO

by mmm- 2023. 11. 2.

DTO (Data Transfer Object)

: 데이터 전송 및 이동을 위해 생성되는 객체

  • 순수한 Java POJO 클래스
  • client에서 보내오는 데이터를 객체로 처리할 때 사용
  • 서버의 계층간 데이터 이동시 사용
    (A라는 클래스의 객체에서 B라는 클래스의 객체로 데이터를 보내줘야할 때)
  • Entity를 그대로 Client에 반환하는 것이 아닌, DTO로 한 번 변환 후 반환할 때 사용
  • RequestDTO, ResponseDTO 라는 이름을 붙여 DTO 클래스를 만들 수 있음.
    • 절대적인 규칙 X. 조직에 따라 규칙 다를 수 있음

 

ResponseDTO가 DB와 소통하는 class랑 똑같은 경우가 많음.

그런데도 분리하는 이유는 DB와 소통하는 클래스는 조심스럽게 다뤄야 하기 때문❗


용어 정리

  • Entity
    : DB와 소통할 때 사용하는 Java 클래스
  • RequestDTO
    : 클라이언트의 Request 데이터를 처리할 때 사용되는 객체
  • ResponseDTO
    : 서버의 Response 데이터를 처리할 때 사용되는 객체