Mock API 설계 및 협의 사항 정리

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 응답 포맷 예시 등도 정리 가능.

'프로젝트' 카테고리의 다른 글

DRF 시리얼라이저 완전 정복 🧩  (0) 2025.06.24
🎭 Mock API란? 백엔드 개발자라면 꼭 알아야 할 기본기  (0) 2025.06.24
📚 실무 협업을 위한 Notion OT  (0) 2025.06.19
주요 API 모음  (0) 2025.06.19
🚨 DuckDNS 도메인 IP 설정 문제, 원인과 해결 방법 정리  (0) 2025.06.15
'프로젝트' 카테고리의 다른 글
  • DRF 시리얼라이저 완전 정복 🧩
  • 🎭 Mock API란? 백엔드 개발자라면 꼭 알아야 할 기본기
  • 📚 실무 협업을 위한 Notion OT
  • 주요 API 모음
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (797)
      • Python (32)
      • 프로젝트 (114)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    trumpmuskclash
    remittance
    global politics
    livebroadcast
    btscomeback
    hotcoffeecase
    urbantrends
    chinanightlife
    life reflection
    travel ban
    btsdischarge
    btsreunion
    youngprofessionals
    뷔
    basalcellcarcinoma
    self-growth
    lawsuitculture
    titaniumcase
    smartphonedurability
    newpoliticalparty
    college reunions
    classaction
    americanlaw
    americaparty
    RM
    bts
    chatgpterror
    gpterror
    btsjungkook
    homebartrend
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Mock API 설계 및 협의 사항 정리
상단으로

티스토리툴바