Skip to content

[Network] API 클라이언트 인프라 셋업 #19

@Roy-wonji

Description

@Roy-wonji

목적

모든 화면 이슈의 dependency. 네트워크 레이어 / 공용 인프라 구축.

스택

  • Moya + async/await (Moya 15.x async 확장)
  • Alamofire (Moya 내부)
  • Combine 미사용, Swift Concurrency 우선

작업 내용

  • Moya TargetType 정의 / 도메인별 분리
  • BaseURL / 환경(dev/stage/prod) 분기
  • async request 래퍼 (Moya MoyaProvider.requestasync throws)
  • 공통 Request/Response 모델 (Result/Error wrapper)
  • 인터셉터(PluginType): 토큰 첨부 / 401 자동 refresh / 로깅
  • JSON 디코딩 정책 (snake_case ↔ camelCase, Date 포맷)
  • 에러 매핑 (서버 코드 → 도메인 에러)

기준

  • 56개 엔드포인트 모두 이 인프라 위에서 호출 가능
  • 호출부에서 try await provider.request(.foo) 형태로 사용

도메인별 TargetType (예상)

  • AuthAPI / HomeAPI / BattleAPI / ExploreAPI / PerspectiveAPI / CommentAPI / VoteAPI / NotificationAPI / MyPageAPI / ShareAPI / ProposalAPI

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions