본문으로 건너뛰기

비동기 요청 상태 흐름

궁합 분석은 외부 사주 계산 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 ──▶ "잠시 후 다시 시도해주세요" 안내