본문 바로가기

Development/Spring Framework

[Spring Boot] API 생성하기

API 생성에 필요한 클래스

  • Controller : API 요청을 받음
  • DTO : Request를 받음

  • Request : 트랜잭션, 도메인 기능 간 순서 보장

비즈니스 로직 처리

  • Web Layer

    - 외부 요청과 응답에 대한 전반적 영역

    - @Controller와 JSP/Freemarker 등 뷰 템플릿 영역

    - ex) 필터(@Filter), 인터셉터, 컨트롤러 어드바이스(@Controller Advice 등)

  • Service Layer

    - Controller와 DAO 중간 영역에서 사용

    - @Service에 사용되는 영역

    - @Transaction이 사용되어야 하는 영역

  • Repository Layer

    - DB와 같이 데이터 저장소에 접근하는 영역

  • DTOs

    - DTO(Data Transfer Object): 계층 간 데이터 교환을 위한 객체

    - DTOs : DTO의 영역

    - 뷰 템플릿 엔진에서 사용될 객체나 결과로 넘겨준 객체 등

  • Domain Model

    - 도메인(개발 대상)을 모든 사람이 동일한 관점에서 이해하고 공유할 수 있도록 단순화 시킨 것

    - 무조건 DB 테이블과 관계가 있어야만 하는 것은 아님

    - 도메인(Domain)은 비즈니스 로직 처리를 담당함
(책 103페이지 참고)

트랜잭션 스크립트


- 모든 로직이 서비스 클래스 내부에서 처리되는 것

- 이럴 경우 서비스 계층이 무의미하며, 객체는 단순한 데이터 덩어리 역할만 하게 됨


도메인 모델 처리와 차이점

- 각 도메인에서 이벤트 처리를 할 수 있음

- 이로 서비스 메소드는 트랜잭션과 도메인 간 순서만 보장됨