-
Notifications
You must be signed in to change notification settings - Fork 0
Description
이슈 배경
링크 추가 시 OG 태그 자동 수집, 중복 확인, 덮어쓰기 기능을 구현합니다.
이슈 내용
1. 메타 정보 수집 API
- POST /v1/links/meta-scrape
- 요청:
{ "url": "https://..." } - 응답:
{ "title": "...", "description": "...", "image": "...", "url": "..." } - URL의 OG 태그를 크롤링하여 메타 정보 반환
2. URL 중복 확인 (기존 API 활용)
- GET /v1/links/duplicate?url={url}
- 이미 구현된 API 사용
- 중복 여부를 boolean으로 반환
3. 링크 저장 API 확장
- POST /v1/links에
force파라미터 추가 force=false(기본값): 중복 URL 시 DUPLICATE_URL 에러 발생force=true: 기존 링크를 새 정보로 덮어쓰기
4. 요약 작업 큐 등록
- 링크 저장 시 요약 생성 작업을 큐에 등록
- Link Status = PENDING으로 저장
- 즉시 응답 반환 (요약 완료 대기 없음)
동작 흐름
Step 1: 정보 입력 및 메타 수집
- 사용자 URL 입력
POST /v1/links/meta-scrape호출- 응답된 메타 정보(제목, 이미지)를 입력란에 자동 채움
Step 2: 중복 확인
- [추가하기] 버튼 클릭
GET /v1/links/duplicate?url=호출- Case A: 중복 아님 → Step 3로 진행
- Case B: 중복 발견 → DuplicateStep UI 표시
- 기존 카드 프리뷰 노출
- 선택지: [기존 링크 유지] 또는 [덮어쓰기]
- [덮어쓰기] 선택 시
force=true로 Step 3 진행
Step 3: 저장 및 큐 등록
POST /v1/links호출 (force 파라미터 포함)- DB 저장 + 요약 작업 큐 등록
- 200 OK 즉시 응답
Step 4: UI 피드백
- 모달 닫기
- Skeleton Card 추가
- 토스트 알림: "링크를 저장했습니다. 요약 생성을 시작합니다."
예외 처리
- URL 형식 오류: 입력 필드 에러 메시지
- 메타 수집 실패: 빈 입력창 제공 (사용자 직접 입력)
- 저장 실패(5xx): 에러 토스트, 모달 유지
- 중복 링크: DuplicateStep UI 표시
참고 자료
Reactions are currently unavailable