Skip to content

OG 태그 크롤링 #102

@ckdals4600

Description

@ckdals4600

이슈 배경

링크 추가 시 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/linksforce 파라미터 추가
  • force=false (기본값): 중복 URL 시 DUPLICATE_URL 에러 발생
  • force=true: 기존 링크를 새 정보로 덮어쓰기

4. 요약 작업 큐 등록

  • 링크 저장 시 요약 생성 작업을 큐에 등록
  • Link Status = PENDING으로 저장
  • 즉시 응답 반환 (요약 완료 대기 없음)

동작 흐름

Step 1: 정보 입력 및 메타 수집

  1. 사용자 URL 입력
  2. POST /v1/links/meta-scrape 호출
  3. 응답된 메타 정보(제목, 이미지)를 입력란에 자동 채움

Step 2: 중복 확인

  1. [추가하기] 버튼 클릭
  2. GET /v1/links/duplicate?url= 호출
  3. Case A: 중복 아님 → Step 3로 진행
  4. Case B: 중복 발견 → DuplicateStep UI 표시
    • 기존 카드 프리뷰 노출
    • 선택지: [기존 링크 유지] 또는 [덮어쓰기]
    • [덮어쓰기] 선택 시 force=true로 Step 3 진행

Step 3: 저장 및 큐 등록

  1. POST /v1/links 호출 (force 파라미터 포함)
  2. DB 저장 + 요약 작업 큐 등록
  3. 200 OK 즉시 응답

Step 4: UI 피드백

  1. 모달 닫기
  2. Skeleton Card 추가
  3. 토스트 알림: "링크를 저장했습니다. 요약 생성을 시작합니다."

예외 처리

  • URL 형식 오류: 입력 필드 에러 메시지
  • 메타 수집 실패: 빈 입력창 제공 (사용자 직접 입력)
  • 저장 실패(5xx): 에러 토스트, 모달 유지
  • 중복 링크: DuplicateStep UI 표시

참고 자료

Link 추가 기능명세서

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions