controller는 HTTP 입력을 application command로만 바꾼다

인증 주체와 검증된 DTO를 use case command로 조립하고 권한 조회와 중복 검사는 transaction service에 남긴다.

HTTP 입력
CurrentMember + Request DTO

server 신원과 client 데이터를 구분해 받는다.

출력

검증된 transport 값

Controller
Command 조립

field를 application 용어로 옮기고 HTTP 세부사항을 제거한다.

출력

CreatePostCommand

Service TX
업무 판단

권한·중복·현재 상태를 조회하고 저장한다.

출력

생성된 Post ID

HTTP 출력
Response DTO

공개 가능한 field와 status·location을 결정한다.

출력

201 Created

핵심: Controller는 얇아서가 아니라 HTTP와 업무 transaction 사이의 번역 경계이기 때문에 조회 규칙을 갖지 않는다.