본문으로 건너뛰기

비동기 요청 상태 흐름

궁합 분석은 외부 사주 계산 API에 비동기로 요청하고 웹훅으로 결과를 수신합니다. 서버는 웹훅이 도착할 때까지 응답을 대기하며, 타임아웃 발생 시 PENDING 상태를 반환합니다.


흐름 다이어그램

클라이언트 서버 외부 API
│ │ │
│ GET /compatibility│ │
│──────────────────▶│ │
│ │──── 분석 요청 ────────▶│
│ │ │ (처리 중)
│ │◀─── 웹훅 콜백 ─────────│
│ │
│ ┌─────────┴──────────┐
│ [대기 성공] [타임아웃]
│ │ │
│◀── COMPLETE ──── ──── PENDING ──────────▶│

│ [PENDING 수신 시 재요청]
│ GET /compatibility│
│──────────────────▶│
│◀── COMPLETE ──────│

응답 상태

status의미응답 본문
COMPLETE분석 완료점수, 섹션별 결과, 총평 포함
PENDING결과 대기 중{ "status": "PENDING" }

해당 API

엔드포인트비동기 여부
GET /api/saju/me/compatibility/{partnerId}✅ PENDING 가능
GET /api/saju/me/year-fortune❌ 항상 동기 응답

클라이언트 처리 권장 패턴

응답 수신

status == "COMPLETE"?
├─ Yes ──▶ 결과 화면 렌더링
└─ No (PENDING)

└─ 3~5초 후 동일 URL 재요청 (최대 3회)

└─ 여전히 PENDING ──▶ "잠시 후 다시 시도해주세요" 안내