코드 그라데이션

Entity와 DTO 구분 본문

Spring/요소에 대한 간단한 설명

Entity와 DTO 구분

완벽한 장면 2023. 1. 15. 18:35

# DTO는 Data Transfer Objection이다.

# Entity는 핵심이고, Dto는 조수같은 느낌이다.

# Dto는 계층간의 Data를 전달할 수 있는 Data 바구니 같은 것. Entity는 (이 서비스의) 핵심 요소.

# 그래서 일단, 역할의 중요도 자체가 아예 다르다.

# 모든 서비스는 Entity 중심으로 돌아가고, Dto는 단지 계층 간의 Data를 주고받을 수 있게 해주는 보조 장치

# Dto는 계층을 이어주는 친구다.

# 한 서비스는 Controller - Service - Repository 로 이어지긴 하지만, 각 계층은 원래 독립된 존재. 서로 의존하면 안 된다.

# 이 말은 어떤 서비스가 운영될 때, 이전 서비스에서 뱉은 것을 기반으로 다음 걸 만들면 안된다는 뜻.

# 책임전가는 안된다. 의존성이 생기면 안 된다는 의미.

# 그래서 Data를 전달할 때, Dto의 역할이 생기는 것.

# 예를 들면, 서비스에 어떤 데이터를 전달할 때 // controller에서 @RequestBody로 받잖아, 이 때 데이터를 그냥 넘기는 게 아니라 그것을 해당 서비스에 맞게 Dto를 만들어서 넘기는 것으로.

# 그리고 Entity는 Service에서만 다뤄질 수 있는 핵심적인 요소라고 이해하자.

# controller 단까지 내려오면 안 된다. 핵심 로직이기 때문에 공개를 최소한으로 시켜야 한다.

# 소위 Repository는 Entity들의 모임이 되는 것.

 

# RequestDto는 들어올 때 쓰는, 소위 뭔가를 요청받을 때 사용하는 녀석.

# ResponseDto는 나갈때 쓰는 녀석.

# 예를 들면 password같은 경우, 받아야 하지만, 나갈 때 공개하면 안된다. 

 

728x90
Comments