Skip to content

[DEV-262/BE] feat: 질답 세트를 스크랩하는 API 개발#388

Merged
lja3723 merged 10 commits intodevfrom
DEV-262/feat/질답-세트를-스크랩하는-API-개발
Feb 16, 2026

Hidden character warning

The head ref may contain hidden characters: "DEV-262/feat/\uc9c8\ub2f5-\uc138\ud2b8\ub97c-\uc2a4\ud06c\ub7a9\ud558\ub294-API-\uac1c\ubc1c"
Merged

[DEV-262/BE] feat: 질답 세트를 스크랩하는 API 개발#388
lja3723 merged 10 commits intodevfrom
DEV-262/feat/질답-세트를-스크랩하는-API-개발

Conversation

@lja3723
Copy link
Collaborator

@lja3723 lja3723 commented Feb 15, 2026

관련 이슈

close #383

작업한 내용

  • 질답 세트를 주어진 스크랩 폴더에 스크랩 하는 API 개발
  • 질답 세트를 주어진 스크랩 폴더에서 스크랩을 제거하는 API 개발

@lja3723 lja3723 requested review from kckc0608 and zxc534 February 15, 2026 10:09
@lja3723 lja3723 self-assigned this Feb 15, 2026
@vercel
Copy link

vercel bot commented Feb 15, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
web-team4-refit Ignored Ignored Preview Feb 16, 2026 5:07am

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @lja3723, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 풀 리퀘스트는 사용자가 질답 세트를 스크랩 폴더에 추가하거나 제거할 수 있는 새로운 기능을 백엔드에 도입합니다. 이를 통해 사용자는 관심 있는 질답 세트를 개인 스크랩 폴더에 체계적으로 관리할 수 있게 됩니다. 새로운 API 엔드포인트와 관련 서비스 로직이 구현되었으며, 데이터 무결성을 위해 중복 스크랩을 방지하는 제약 조건도 추가되었습니다.

Highlights

  • 새로운 스크랩 API 엔드포인트 추가: 질답 세트를 스크랩 폴더에 추가하거나 제거하는 두 가지 새로운 API 엔드포인트가 QnaSetController에 구현되었습니다.
  • 질답 세트 스크랩 서비스 로직 구현: QnaSetService에 질답 세트를 스크랩 폴더에 추가하고 제거하는 비즈니스 로직이 추가되었으며, 관련 유효성 검사 및 리포지토리 의존성이 주입되었습니다.
  • 중복 스크랩 방지를 위한 고유 제약 조건 추가: QnaSetScrapFolder 엔티티에 qna_set_idscrap_folder_id 조합에 대한 고유 제약 조건이 추가되어 중복 스크랩을 방지합니다.
Changelog
  • backend/src/main/java/com/shyashyashya/refit/domain/qnaset/api/QnaSetController.java
    • 변수명 오타(resposne -> response)가 수정되었습니다.
    • 질답 세트를 스크랩 폴더에 추가하는 POST /{qnaSetId}/scrap-folder/{scrapFolderId} 엔드포인트가 추가되었습니다.
    • 질답 세트를 스크랩 폴더에서 제거하는 DELETE /{qnaSetId}/scrap-folder/{scrapFolderId} 엔드포인트가 추가되었습니다.
  • backend/src/main/java/com/shyashyashya/refit/domain/qnaset/service/QnaSetService.java
    • SCRAP_FOLDER_NOT_FOUND 예외 코드가 임포트되었습니다.
    • 스크랩 폴더 관련 모델, 리포지토리, 유효성 검사기가 임포트 및 주입되었습니다.
    • addQnaSetToScrapFolderremoveQnaSetFromScrapFolder 메서드가 추가되어 질답 세트 스크랩 로직을 처리합니다.
    • removeDuplicatedIds private 메서드가 제거되었습니다.
  • backend/src/main/java/com/shyashyashya/refit/domain/scrapfolder/model/QnaSetScrapFolder.java
    • qna_sets_scrap_folders 테이블에 qna_set_idscrap_folder_id 조합에 대한 고유 제약 조건이 추가되었습니다.
  • backend/src/main/java/com/shyashyashya/refit/domain/scrapfolder/repository/QnaSetScrapFolderRepository.java
    • existsByQnaSetAndScrapFolder 메서드가 추가되어 질답 세트와 스크랩 폴더의 존재 여부를 확인합니다.
    • deleteByQnaSetAndScrapFolder 메서드가 추가되어 특정 질답 세트를 스크랩 폴더에서 제거합니다.
Activity
  • 현재까지 풀 리퀘스트에 대한 활동은 없습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

질답 세트를 스크랩 폴더에 추가 및 제거하는 기능이 요구사항에 맞춰 잘 구현되었습니다. 특히 데이터베이스 수준에서 고유 제약 조건(Unique Constraint)을 설정하여 데이터 무결성을 보장한 점이 좋습니다. 다만, 동시성 요청 시 발생할 수 있는 레이스 컨디션 상황에서 API 명세(이미 추가된 경우 아무 일도 발생하지 않음)를 완벽히 준수하기 위해 예외 처리를 보완할 것을 권장합니다.

Copy link
Collaborator

@kckc0608 kckc0608 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, 동시성 처리에 대한 고도화 포인트가 있을 것 같네요!

@lja3723 lja3723 force-pushed the DEV-262/feat/질답-세트를-스크랩하는-API-개발 branch from a10cb44 to 16a4fe2 Compare February 15, 2026 14:22
@lja3723 lja3723 force-pushed the DEV-262/feat/질답-세트를-스크랩하는-API-개발 branch from 16a4fe2 to b2bee0e Compare February 16, 2026 05:01
Copy link
Collaborator

@kckc0608 kckc0608 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, 테스트 코드만 추가해주세요!

Copy link
Collaborator

@zxc534 zxc534 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@lja3723 lja3723 merged commit 80ebe28 into dev Feb 16, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[DEV-262/BE] feat: 질답 세트를 스크랩하는 API 개발

3 participants