wa_ter_ve

8. API 연동 본문

공부/소프캡디

8. API 연동

수win 2025. 6. 8. 20:30

🌐 진행 중인 API 연동 요약

• 메인 페이지 사용자 위치 기반 맛집 표시 /api/places GET
  검색 기능 (메인 모달) 가게 이름, 메뉴 이름으로 검색 /api/places/serch POST
  맛집 상세 특정 맛집 상세 정보 조회 /api/places/place-id GET
  찜하기 기능 찜 추가 / 삭제 /api/favorites (추가) , /api/favorites/{id} (삭제) POST / DELETE
  마이페이지 사용자 정보 조회 / 수정 /api/members/my-page (조회),
/api/members/update-my-page (수정)
GET, PATCH
  리뷰 등록 맛집 리뷰 작성 /api/reviews POST
  리뷰 조회 특정 맛집 리뷰 조회 /api/reviews{reviewId} GET

 

📎 API 문서 참고: [Swagger] (https://mixmix2.store/swagger-ui/index.html#/)


📌 상세 페이지별 설명

🗺️ 메인 페이지 (지도 기반 맛집 목록)

  • 설명: 사용자의 현재 위치(위도, 경도) 를 기반으로 1만 원 이하의 맛집들을 지도에 마커로 표시
  • 사용 API: GET /api/places
  • 프론트 구현 내용:
    • Kakao Map API로 지도 렌더링
    • 위치 기반 맛집 마커 표시
    • 마커 클릭 시 상세 모달 띄움

🔍 장소 검색

  • 설명: 가게 이름, 메뉴 이름을 통해 검색 가능
  • 사용 API:
    • GET /api/places/serch
  • 프론트 구현 내용:
    • 필터 사이드바 컴포넌트에서 선택값을 전달
    • 응답에 따라 지도와 리스트 다시 렌더링

🍽️ 맛집 상세 정보 조회

  • 설명: 맛집 상세 정보 보기
  • 사용 API:
    • GET /api/places/place-id
  • 프론트 구현 내용:
    음식점 위치 정보, 가격, 메뉴, 이미지 등 상세 정보 화면

❤️ 찜 기능

  • 설명: 사용자 로그인 시 찜한 맛집 목록 관리 가능
  • 사용 API:
    • POST /api/favorites – 찜 추가
    • DELETE /api/favorites/{favoriteId} – 찜 해제 ( favoriteId는 찜 목록에서 받은 고유 ID 사용 )
  • 프론트 구현 내용:
    • 찜 버튼 클릭 시 상태 변경
    • 찜 목록은 모달로 슬라이드 형태로 표시

👤 마이페이지

  • 설명: 사용자 정보 및 리뷰/찜 내역 확인 가능
  • 사용 API:
    • GET /api/members/my-page  – 사용자 정보 조회
    • PATCH /api/members/update-my-page – 사용자 정보 수정
  • 프론트 구현 내용:
    • 이미지 업로드는 FormData 사용
    • 수정 후 자동 반영

📝 리뷰 작성 / 조회

  • 설명: 맛집에 대한 사용자 리뷰 작성 및 조회
  • 사용 API:
    • POST /api/reviews - 리뷰 등록
    • GET /api/reviews{reviewId} - 아이디로 개별 리뷰 조회
  • 프론트 구현 내용:
    • 별점 및 텍스트 입력 후 서버에 전송
    • 맛집 상세 모달 내에서 리뷰 리스트 표시

🔹기타

  • 인증/인가: 로그인 시 JWT 토큰을 localStorage에 저장하여 인증 필요 API에 포함
  • 에러 처리: 401, 404, 500 등에 대한 공통 에러 핸들링 구

'공부 > 소프캡디' 카테고리의 다른 글

7. 소셜로그인 API 연동  (2) 2025.05.18
6. UI 수정 및 개선  (0) 2025.05.11
5. 맛집 추천 페이지  (0) 2025.04.28
4. 사이드바 모달  (0) 2025.04.28
3. 마이 페이지 UI  (0) 2025.04.14