프로젝트

Mock API 설계 및 협의 사항 정리

Chansman 2025. 6. 20. 05:54

Mock API 설계 및 협의 사항 정리

✅ 목적

  • 쪽지시험 기능 관련 API 개발 전에 Mock API를 구현해 프론트엔드 개발 및 테스트 지원

✅ Mock API란?

  • 실제 서버 로직 없이 프론트엔드와 테스트용으로 사용하는 가짜 API
  • 정해진 JSON 형식의 응답을 반환하며, 기능 개발 전 미리 구조와 흐름을 확인 가능

✅ 구현 방식 제안

1안. View 내부 분기 처리 방식 (if MOCK_MODE)

  • settings.py에 MOCK_MODE 플래그를 둠
  • View 코드 내부에서 MOCK 응답 반환 여부를 조건 분기함
if settings.MOCK_MODE:
    return Response(mock_data)

✅ 장점: 파일 하나로 관리 간편
⚠️ 단점: 코드 복잡도 증가, 실개발 코드에 영향


2안. Mock 전용 파일 별도 분리

  • mock_api/views/ 디렉토리 또는 파일에 기능별 mock view 생성
  • URLConf도 /mock/...와 같이 분리 가능

✅ 장점: 실제 코드와 분리되어 충돌 없음
⚠️ 단점: 프론트엔드가 실제 URL과 달라질 수 있음 → URL 구조 통일 필요


3안. mock 전용 앱 생성

  • mock_api라는 앱을 따로 생성해 모든 mock view를 관리
  • 추후 INSTALLED_APPS에서 제거만 해도 운영 배포 가능

✅ 장점: 규모 커질 때 유지보수 유리
⚠️ 단점: 관리 복잡도 소폭 증가


✅ URL 설계 기준

  • 가능하면 실제 URL 구조와 일치하도록 작성
  • /api/v1/... 형태 유지 권장
  • 혹은 /mock/api/v1/... 로 통일해 Mock 구분

✅ 기타 고려사항

  • API 명세서 기반으로 Mock API 작성
  • 기능별 담당자가 Mock API 먼저 작성 → 프론트 우선 대응
  • 이후 실개발 시작 시 PR 머지 시점 기준으로 분리/제거

✅ 논의 필요 사항

  1. 어떤 구현 방식을 채택할지? (1안 / 2안 / 3안)
  2. Mock API도 테스트코드 작성 대상인지?
  3. URL 경로는 실제 API 경로와 일치시킬지 여부

필요시 실코드 샘플, API 응답 포맷 예시 등도 정리 가능.