Skip to content

[FEATURE] 저장된 URL 중복 체크 API 연동#75

Merged
kbh0218 merged 3 commits into
devfrom
feat/#74-saved-url-duplicate-check-api
Jun 1, 2026
Merged

[FEATURE] 저장된 URL 중복 체크 API 연동#75
kbh0218 merged 3 commits into
devfrom
feat/#74-saved-url-duplicate-check-api

Conversation

@kbh0218

@kbh0218 kbh0218 commented May 29, 2026

Copy link
Copy Markdown
Contributor

Closes #74

개요

링크 검사 시작 전, 사용자가 입력한 URL이 이미 저장된 링크에 존재하는지 확인하는 API를 연동했습니다.

기존에는 URL 입력 후 검사 시작 버튼을 누르면 바로 검사 중 화면으로 이동하고, POST /api/v1/analyses 분석 요청 및 polling 흐름이 시작되었습니다. 이번 작업에서는 검사 화면으로 이동하기 전에 저장 링크 URL 중복 체크 API를 먼저 호출하도록 변경했습니다.

중복 체크 결과 exists: true이면 분석 요청을 시작하지 않고, 검사 중 화면으로 이동하지 않으며, 사용자에게 이미 저장된 링크임을 안내합니다. exists: false이면 기존 링크 검사 흐름이 그대로 진행됩니다.

주요 구현 내용

  • 저장 링크 URL 중복 체크 API 타입 추가
  • 저장 링크 URL 중복 체크 API 호출 함수 추가
  • GET /api/v1/saved-links/check?url={url} 연동
  • 보호 API 호출에 authenticatedApiRequest 사용
  • Clerk 인증 토큰을 포함해 중복 체크 API 호출
  • URL query parameter 전달 시 encodeURIComponent로 인코딩 처리
  • 링크 추가 화면에서 검사 시작 전 중복 체크 API 선호출
  • 이미 저장된 URL인 경우 검사 중 화면 이동 차단
  • 이미 저장된 URL인 경우 이미 저장된 링크입니다. 안내 표시
  • 저장되지 않은 URL인 경우 기존 검사 중 화면 이동 및 분석 요청 흐름 유지
  • 중복 체크 API 실패 시 사용자 안내 메시지 표시
  • 중복 체크 요청 중 검사 버튼 중복 입력 방지
  • URL 수정 시 기존 안내 메시지가 초기화되어 다시 검사할 수 있도록 기존 흐름 유지

파일별 역할

  • api/saved-links.ts: 저장 링크 URL 중복 체크 응답 타입과 checkSavedLinkUrl API 호출 함수 추가
  • app/(tabs)/(home)/add-link.tsx: 검사 시작 버튼 클릭 시 URL 검증 후 중복 체크 API를 먼저 호출하고, 결과에 따라 검사 진행 여부 분기 처리

해결한 이슈 목록

  • URL 추가 화면의 현재 검사 시작 흐름 확인
  • app/(tabs)/(home)/add-link.tsx에서 검사 버튼 클릭 흐름 확인
  • 저장 링크 URL 중복 체크 API 타입과 호출 함수를 api/saved-links.ts에 추가
  • GET /api/v1/saved-links/check?url={url} 요청에 Clerk 인증 토큰 포함
  • API 호출에 authenticatedApiRequest 사용
  • 입력 URL을 query parameter로 전달할 때 안전하게 인코딩
  • 사용자가 검사 시작 버튼을 누르면 분석 요청 전에 중복 체크 API를 먼저 호출
  • exists: true 응답이면 분석 요청을 시작하지 않고 사용자에게 이미 저장된 링크임을 안내
  • exists: false 응답이면 기존 링크 검사 흐름 유지
  • 중복 체크 API 실패 시 사용자에게 안내 표시
  • 중복 체크 요청 중 검사 버튼 중복 입력 방지
  • 기존 POST /api/v1/analyses 요청 및 polling 흐름 유지
  • 이미 저장된 URL 안내 후 사용자가 URL을 수정하면 다시 검사 가능
  • Android 에뮬레이터에서 중복 URL과 신규 URL 흐름 각각 확인
  • 실제 휴대폰 preview 빌드에서 중복 URL 안내와 정상 검사 흐름 확인

체크 사항

  • 커밋/코딩 컨벤션에 맞게 작성
  • 기존 분석 요청 및 polling 흐름이 깨지지 않도록 검사 시작 전 단계에서만 중복 체크 처리
  • 보호 API 호출 전 /auth/me를 수동 호출하지 않음

참고사항

  • 백엔드 API는 LinClean-BE-spring PR #43에서 dev 브랜치에 머지된 내용을 사용했습니다.
  • API endpoint: GET /api/v1/saved-links/check?url={url}
  • 실제 백엔드 응답은 { data: { exists: boolean } } 형태이며, 프론트 공통 API 클라이언트가 data를 unwrap합니다.
  • 중복 기준은 현재 로그인한 멤버의 저장 링크 중 Analysis.original_url exact match입니다.
  • 검사만 완료하고 저장하지 않은 URL은 중복 대상으로 판단되지 않습니다.

Screenshots or Video

  • api 연동 전 저장해놓았던 url을 입력해도 잘 체크해주는 모습입니다.
image

@kbh0218 kbh0218 requested review from minsoo0506 and sunm2n May 29, 2026 14:33
@kbh0218 kbh0218 self-assigned this May 29, 2026
@kbh0218 kbh0218 added the feature 기능개발 label May 29, 2026
Comment thread app/(tabs)/(home)/add-link.tsx
@minsoo0506

Copy link
Copy Markdown

넵 확인했습니다!!

@kbh0218 kbh0218 merged commit 06d68a3 into dev Jun 1, 2026
@kbh0218 kbh0218 deleted the feat/#74-saved-url-duplicate-check-api branch June 1, 2026 05:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature 기능개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] 저장된 URL 중복 체크 API 연동

2 participants