API 문서

Swiss friends API

스위스 여행 Q&A 서비스 API 문서입니다.

Version: 1.0.0

Base URL: /api

주요 엔드포인트

❓ 질문 관련

  • GET /api/questions - 질문 목록 조회 (페이징, 필터링, 검색 지원)
  • POST /api/questions - 새 질문 등록
  • GET /api/questions/[id] - 특정 질문 상세 조회
  • PUT /api/questions/[id] - 질문 수정 (작성자만)
  • DELETE /api/questions/[id] - 질문 삭제 (작성자만)
  • POST /api/questions/[id]/helpful - 질문 도움됨 투표

💬 답변 관련

  • GET /api/questions/[id]/answers - 질문의 답변 목록
  • POST /api/questions/[id]/answers - 답변 등록
  • PUT /api/answers/[id] - 답변 수정 (작성자만)
  • DELETE /api/answers/[id] - 답변 삭제 (작성자만)
  • POST /api/answers/[id]/helpful - 답변 도움됨 투표

💭 댓글 관련

  • GET /api/answers/[id]/comments - 답변의 댓글 목록
  • POST /api/answers/[id]/comments - 댓글 등록
  • PUT /api/comments/[id] - 댓글 수정 (작성자만)
  • DELETE /api/comments/[id] - 댓글 삭제 (작성자만)

🌍 지역 정보

  • GET /api/countries - 국가 목록 조회
  • GET /api/countries/[id]/cities - 특정 국가의 도시 목록
  • GET /api/cities/[id]/places - 특정 도시의 장소 목록

🤖 AI 서비스

  • POST /api/qa - AI 질문 답변 생성
  • POST /api/chat - AI 채팅 대화

관리자 API

📊 통계 관리

  • GET /api/admin/stats - 관리자 대시보드 통계

❓ 질문 관리

  • GET /api/admin/questions - 질문 목록 조회 (필터링 지원)
  • GET /api/admin/questions/[id] - 특정 질문 상세 조회
  • PUT /api/admin/questions/[id] - 질문 정보 수정
  • DELETE /api/admin/questions/[id] - 질문 삭제
  • POST /api/admin/questions/approve - 질문 승인/거부 처리
  • GET /api/admin/questions/approve - 승인 대기 질문 목록

💬 답변 관리

  • GET /api/admin/answers - 답변 목록 조회
  • PUT /api/admin/answers/[id] - 답변 내용 수정
  • DELETE /api/admin/answers/[id] - 답변 삭제 (댓글, 투표 포함)
  • PUT /api/admin/answers/[id]/verify - 답변 검증 상태 변경
  • PUT /api/admin/answers/[id]/accept - 답변 채택 상태 변경

👥 사용자 관리

  • GET /api/admin/users - 사용자 목록 조회

🆕 새로 추가된 기능

✅ 질문 승인 시스템

자동 생성된 질문은 관리자 승인 후 공개됩니다. /api/admin/questions/approve로 승인/거부 처리가 가능합니다.

🗑️ 답변 삭제 시스템

관리자는 부적절한 답변을 삭제할 수 있습니다. 관련된 댓글과 투표도 함께 삭제됩니다.

🔍 고급 필터링

질문 목록에서 카테고리, 상태, 출처별 필터링과 검색이 가능합니다.

📝 참고사항

상세한 API 스키마와 예제는 서비스 배포 후 Swagger UI로 제공됩니다.

모든 API는 JSON 형식으로 데이터를 주고받습니다.

관리자 API: 적절한 인증과 권한이 필요합니다.

파라미터: [id]는 동적 라우트 매개변수를 의미합니다.