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!]!
}

작업 프로세스

  1. 기존 REST API 스펙 문서를 Claude Code에 제공
  2. 변환 규칙을 정의한 예시 3개 작성
  3. Claude Code가 나머지 77개 엔드포인트 변환
  4. 생성된 코드 검토 및 테스트

결과

  • 80개 엔드포인트 중 68개는 수정 없이 바로 사용 가능
  • 12개는 비즈니스 로직 조정 필요 (예상된 부분)
  • 예상 2주 → 실제 3일 소요

주의점

  • 복잡한 비즈니스 로직은 여전히 수동 검토 필수
  • 생성된 테스트 코드는 엣지 케이스 커버리지가 부족했음
  • MCP 연동으로 DB 스키마를 직접 참조하게 하니 정확도가 높아짐

소감

AI 도구가 단순 반복 작업을 대신하면서, 아키텍처 설계와 예외 처리 같은 고민에 집중할 수 있었다. 도구 선택보다 어떤 작업을 자동화할지 판단하는 능력이 더 중요해진 시점이다.