Skip to content

feat: Search API 리팩터링 및 중복 요청 500 에러 해결#8

Merged
icarus0616 merged 1 commit intomainfrom
feat/7/search
Jan 18, 2026
Merged

feat: Search API 리팩터링 및 중복 요청 500 에러 해결#8
icarus0616 merged 1 commit intomainfrom
feat/7/search

Conversation

@millkk04
Copy link
Collaborator

1. Search API 도메인 통합

  • 기존 /api/v1/books/search 엔드포인트를 /api/v1/search/books로 변경
  • 검색 관련 API를 독립적인 search 도메인으로 통합

2. 중복 요청 500 에러 해결

  • 문제: GET 요청으로 도서 검색 시 DB에 저장 후, 동일한 검색을 다시 수행하면 500 내부 서버 오류 발생
  • 원인: JPA orphan removal 타이밍 이슈로 인한 유니크 제약조건 위반(delete는 flush가 된 후에 작동되는 연산이라, 기존 orphan이 쓰레기 데이터로 남아있어서, insert 연산이 우선 실행되기에 중복이 발생함. 그래서 유니크 조건이 위배되는 경우가 생김)
  • 해결: 명시적 2단계 처리 (기존 매핑 삭제 → 새 매핑 추가)

@millkk04 millkk04 self-assigned this Jan 17, 2026
@millkk04 millkk04 added bug Something isn't working enhancement New feature or request labels Jan 17, 2026
@millkk04 millkk04 linked an issue Jan 17, 2026 that may be closed by this pull request
@icarus0616 icarus0616 merged commit 710db93 into main Jan 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Search API 리팩터링 및 중복 요청 500 에러 해결

2 participants