[Typescript로 설계하는 프로젝트] Type 설계의 시작: 견고한 서버 API Type 설계하기 With DI

ant·2025년 6월 1일
post-thumbnail

"죄송해요, User 스키마에서 name 필드가 빠지게 됐어요."
백엔드 개발자의 이 한마디에 식은땀부터 흐른다면?

fetch 호출마다 as User[]로 타입을 단언하고, API 스펙 변경 때마다 온 동네를 뒤져야 하는 고통.

제네릭과 DI(의존성 주입)를 활용해, 스펙 변경에도 끄떡없는 'Type-Safe API 레이어' 설계 노하우를 공개합니다.

환경별 설정 지옥과 테스트 작성의 막막함까지 한 번에 해결하는 방법, 지금 확인해 보세요.

👉 글 보러가기: https://blog.sangwook.dev/posts/typescript-project-api-di-design


🔗 관련 시리즈 (전체 보기)

  1. 당신의 Type, 어디까지 연결되어 있나요? (https://blog.sangwook.dev/posts/typescript-project-design)
  2. Type 설계의 시작: 견고한 서버 API Type 설계하기 (https://blog.sangwook.dev/posts/typescript-project-api-design)
  3. Type 설계의 시작: 견고한 서버 API Type 설계하기 With Di (https://blog.sangwook.dev/posts/typescript-project-api-di-design)
  4. "원래 있던 기능이니 금방 하시죠?" 당하지 않는 Service Layer 설계 전략 (https://blog.sangwook.dev/posts/typescript-project-service-design)
  5. "원래 있던 기능이니 금방 하시죠?" 당하지 않는 Service Layer 설계 전략 With Di
    (https://blog.sangwook.dev/posts/typescript-project-service-di-design)
  6. "같은 로직 또 복사했어요?" Domain 모델로 책임 분리하기 (https://blog.sangwook.dev/posts/typescript-project-domain-design)

6개의 댓글

comment-user-thumbnail
2025년 6월 2일

오... 마침 최근 제네릭 타입을 공부하면서 어떻게 적용시켜볼까 고민했는데 좋은 사례를 알려주셔서 감사합니다!
단순한 활용법이 아니라 기존에 어떤 문제점을 해결하고, 테스트 용이성까지 고려한 점이 좋았어요!
저도 참고해서 꼭 적용해보도록 하겠습니다!
좋은 글 감사해요~

1개의 답글
comment-user-thumbnail
2025년 6월 18일

너무 알차게 잘 읽었습니다.
확실히 그때 그때 상황에 맞춰서 만드는 것 보다, 시간을 들이더라도 이렇게 만드는게 훨씬 낫지 않을까 합니다!
좋은 글 감사합니다!

1개의 답글
comment-user-thumbnail
2025년 7월 1일

http 클라이언트로 axios를 자주 사용하는데 사용 방법이 비슷하네요!!
구현 코드도 상세하게 적어주셔서 감사합니다 :-)

1개의 답글