
Code generator 개발기 (Part 1)
두줄요약
REST API와 TypeScript 타입을 수동 관리하며 생긴 불일치 문제를 분석했습니다. 기존 도구의 한계를 검토하고 OpenAPI 기반 생성기 목표를 정리했습니다.
문제 상황
- REST API 증가와 TypeScript 반환 타입 수동 관리로 인한 타입 선언의 레거시화
- Swagger 문서와 실제 API 응답 간 불일치로 약화되는 런타임 안전장치
- 타입 관리 방식 합의를 위한 프런트엔드 팀의 반복적·소모적 논의
선택 이유
- GraphQL·Client-side GraphQL·gRPC의 도입 비용, 경험 부족, 기존 레거시 개선 제약
- OpenAPI 기반 openapi-generator의 번잡한 산출물과 API 호출 hooks 부재
- 셀별 에러 처리·파일 구조·타입 명명 등 조직 특화 요구사항 대응 필요
구조와 흐름
- OpenAPI Specification JSON을 파일 또는 네트워크 요청으로 파싱
- 선택 API별 클라이언트 코드·타입·JSON validator 기반 type guard 생성 목표
- Swagger 스키마와 실제 응답 정합성 검증을 위한 integration test 연계 목표
적용해볼 점
- API 스키마를 단일 입력으로 삼아 타입 관리와 검증 코드를 자동화하는 접근
- 생성물 형태와 팀별 확장 요구사항을 기준으로 기존 생성 도구 채택 여부 검토



