Claude Code로 레거시 API 마이그레이션 자동화
배경
회사의 레거시 REST API(약 80개 엔드포인트)를 GraphQL로 마이그레이션하는 작업을 맡았다. 각 엔드포인트마다 타입 정의, 리졸버 작성, 테스트 코드 수정이 필요했고, 단순 반복 작업이 대부분이었다.
Claude Code 활용
Claude Code의 파일 일괄 편집 기능을 활용하여 패턴 기반 변환을 자동화했다.
// REST 컨트롤러에서 GraphQL 스키마 추출
// Claude Code에게 제공한 프롬프트:
// "controllers 폴더의 모든 파일에서 엔드포인트 정의를 읽고
// schema.graphql에 해당하는 타입과 쿼리를 생성해줘"
type User {
id: ID!
email: String!
profile: Profile
}
type Query {
getUser(id: ID!): User
listUsers(limit: Int, offset: Int): [User!]!
}
작업 프로세스
- 기존 REST API 스펙 문서를 Claude Code에 제공
- 변환 규칙을 정의한 예시 3개 작성
- Claude Code가 나머지 77개 엔드포인트 변환
- 생성된 코드 검토 및 테스트
결과
- 80개 엔드포인트 중 68개는 수정 없이 바로 사용 가능
- 12개는 비즈니스 로직 조정 필요 (예상된 부분)
- 예상 2주 → 실제 3일 소요
주의점
- 복잡한 비즈니스 로직은 여전히 수동 검토 필수
- 생성된 테스트 코드는 엣지 케이스 커버리지가 부족했음
- MCP 연동으로 DB 스키마를 직접 참조하게 하니 정확도가 높아짐
소감
AI 도구가 단순 반복 작업을 대신하면서, 아키텍처 설계와 예외 처리 같은 고민에 집중할 수 있었다. 도구 선택보다 어떤 작업을 자동화할지 판단하는 능력이 더 중요해진 시점이다.