API 타입 지옥, 이제 안녕! Code Generator 개발기
by DD
2년 전
조회수 8
API 타입 관리의 어려움과 수동 관리의 문제점을 지적하며 code generator 개발 배경 설명
GraphQL, gRPC 등 기존 해결책의 한계를 극복하고 OpenAPI-generator의 아쉬운 점을 발견
OpenAPI specification 기반의 code generator를 직접 개발하여 API schema 변화에 유연하게 대응 목표
API 타입 관리의 고충
프론트엔드 개발에서 API 반환 타입 관리는 필수적이다. TypeScript 사용 시, `any` 타입 사용은 런타임 에러를 유발하고, 수동 관리는 타입 불일치 문제를 야기한다. 따라서, code generator를 통해 타입 안전성을 확보하는 것이 중요하다.
기존 해결책의 한계와 새로운 시도
GraphQL은 우아하지만, 외부 서비스에 적합하지 않다. gRPC는 백엔드 개발자에게 생소하다. OpenAPI-generator는 산출물 과다, 커스터마이징의 어려움이 존재한다. 따라서, code generator 직접 개발을 통해 API schema에 최적화된 솔루션을 구축한다.
Code Generator 개발 목표
OpenAPI specification 기반의 code generator는 API schema 변화에 유연하게 대응해야 한다. JSON validator를 통한 type guard 자동 생성, API response 검증을 위한 integration test 지원을 목표로 한다. 결과적으로, 프론트엔드 개발 생산성을 향상시킨다.