백엔드 API 응답 구조가 매번 바뀔 때: TypeScript Conditional Types와 infer 실전 활용법
백엔드 API와 연동 작업을 하다 보면 가장 골치 아픈 순간은 응답 구조가 미묘하게 다를 때입니다. 성공 시에는 { data: T } 형태로 오다가, 실패 시에는 { error: string } 으로 오거나, 특정 레거시 엔드포인트만 { result: T } 형태로 내려오는 경우가 허다합니다. 이때마다 any 를 사용하거나 옵셔널 체이닝( ?. )…