Programming/Springboot

Springboot [controller/service/entity/dto/repository] 역할

두잇츄우 2025. 4. 7. 15:22

controller

  • 클라이언트로부터 HTTP 요청을 받고, 서비스 레이어에서 요청에 대한 적절한 메소드를 호출한 결과를 HTTP 응답으로 반환하는 역할
  • 사용자 요청이 진입하는 곳
  • 사용자 요청을 처리하는 곳
  • 처리 후 서비스로 넘어간다

service

  • repository와 controller 사이 미들웨어
  • controller에서 받은 데이터를 가공해서 DB를 보내거나,
  • DB에서 가져온 데이터를 가공해서 사용자에게 보내준다.
  • 사용자 요구사항을 처리하는 곳 (비즈니스 로직)

entity

  • DB에 접근하는 객체

dto (Data Transfer Object)

  • DTO는 클라이언트와 서버 간 데이터를 전송하기 위한 객체
  • 데이터 보호, 변환, 검증을 담당하여 유지보수성을 높일 수 있다.
  • Entity를 직접 노출하면 보안 문제가 발생할 수 있기 때문에 DTO를 사용하여 필요한 데이터만 주고 받는다.
  • 데이터 저장 담당 클래스
  • 계층간에 데이터를 교환할 때 주로 사용
  • golang에서 보통 구조체를 사용

repository

  • CRUD 명령어 작성하는 곳