HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
만들면서 배우는 클린 아키텍쳐
만들면서 배우는 클린 아키텍쳐
/
5️⃣
05장 - 웹 어댑터 구현하기
5️⃣

05장 - 웹 어댑터 구현하기

 
notion image
 
웹 어댑터 (= 컨트롤러)는 애플리케이션의 인커밍 포트를 통해 서비스에 접근해야 한다. DIP 가 적용되었다!
포트란 애플리케이션 코어가 외부 세계와 통신할 수 있는 곳에 대한 명세이기 때문이다.
notion image
(직접 호출하는 지름길은 11장에서 다루자)
 

웹 어댑터의 책임

01 HTTP 요청을 자바 객체로 매핑
  • WAS에서 진행
 
02 권한 검사
  • 서블릿 필터/ 스프링 인터셉터 등으로 진행
 
03 입력 유효성 검증
  • 컨트롤러 DTO 에서 진행

컨트롤러 진입 - HTTP를 전혀 모른다!!
04 입력을 유스케이스의 입력 모델(커맨드, 쿼리)로 매핑
  • line 26~29
 
05 유스케이스 호출
  • line 31
컨트롤러 탈출

06 유스케이스의 출력을 HTTP로 매핑
  • WAS 에서 진행
 
07 HTTP 응답을 반환
  • WAS 에서 진행
 

컨트롤러 나누기

  • 컨트롤러는 유스케이스와 마찬가지로 나눌 수록 좋다.
  • 컨트롤러 - 유스케이스를 매핑하면 좋다.
  • 컨트롤러 클래스의 이름, 메서드의 이름, 유스케이스의 이름을 맞추자.
  • 명확한 네이밍을 사용하자