인프런 커뮤니티 질문&답변

ghdtldus03a님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

7강. 유저 생성 API 개발

수업을 들으면서 이해한 것이 맞는지 확인해주세요 ㅠㅠ

해결된 질문

24.02.03 22:18 작성

·

1.1K

3

전체적인 흐름:

postman(클라이언트)에서 body형식으로 보내준 user정보를 저장하는 api를 만들기. 다만 null값 허용x

 

 

1) dto역할의 UserCreateRequest.java

postman에서 body형식으로 보내준 user정보를 여기를 통하여 controller로 전달한다.

 

2) UserController.java

user관련된 api들이 정의되어 있는 곳.

user 클래스에서 "예외 처리"를 거친 후에 들어온 값들을 add하면서 리스트에 추가한다.

 

3) domain의 User.java

얘도 postman에서 body형식으로 보내준 user정보를 여기를 통하여 controller로 전달한다(?) 만약 name이 null값이면 거르고 아니면 저장한다.

 

 

 

뭔가 UserController.java랑 User.java 얘네들끼리만 서로 지지고볶는 것 같은데 왜 dto가 따로 있나 어려워요

dto 없어도 domain에서 postman이랑 컨텍이 되는 거 아닌가요?

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

2024. 02. 04. 13:20

안녕하세요, ghdtldus03a님! 이해하신 부분이 정확하게 맞습니다!! 😊 👍

 

그리고 DTO 없이 domain을 바로 사용해도 되는거 아닌가? 라고 질문 주셨는데요! (정말 좋은 질문이에요~) 아마 이런 느낌이겠죠?!

public class UserController {
  // 매개변수에 UserRequest 라는 DTO가 아닌 User 라는 도메인이 들어감
  public void saveUser(@RequestBody User user) { 
  }
}

 

이와 관련해서는 제가 DTO와 도메인을 분리해야 하는 이유에 대해 조금 더 자세하게 찍어둔 영상이 있습니다! 🙂

https://www.youtube.com/watch?v=OV8e88kIU-U

 

한 줄 요약 드리면, 도메인과 DTO를 분리해야 프로그램의 유지보수성이 좋아진다 입니다!

이 영상 확인해보시면 좋을 것 같아요~~! 🙏 감사합니다! 🙇

ghdtldus03a님의 프로필 이미지
ghdtldus03a
질문자

2024. 02. 06. 12:13

와우 영상 감사합니다~