진짜 백엔드 경험 1도 없는 학식이라 멍청한 질문이어도 양해부탁드립니다.. 


스프링 부트로 RESTful API를 만들어야 하는데요

지금 패키지가 controller, service, repository, model 이렇게 있어요

각각의 패키지에 대해 제가 이해한 것들이 맞는지 봐주실 수 있을까요...

1. Controller: 클라이언트의 요청을 받고 서비스에게 처리를 요청, 이후에 클라이언트에게 응답

2. Service: 비즈니스 로직을 포함하며 Controller로부터 리퀘스트 된 요청을 Repository 패키지 안의 클래스들과 interact하며 처리함

3. Repository: 다이렉트하게 DB과 interact 하는 구간

4. Model: 이걸 이해를 잘 못하겠어요ㅠㅠ 일단 model 패키지 안에 DTOs 클래스들 모아놨는데, 정확히 이 모델 패키지가 무엇을 하는건가요??


또, DTO들은 리퀘스트를 받을 때와 리스폰드를 보낼 때 각각 필요한 것인가요?? 

제가 정말 개멍청하기도 하고 습득력도 딸려서 자세한 설명 아무 인풋 다 너무 감사하겠습니다 ㅠㅠㅠㅠ