wooyongdev정우용이 기록하고 운영하며 성장하는 기술 블로그
PostsSeriesTagsProjectsAbout
⌕
⌕
PostsSeriesTagsProjectsAbout
© wooyongdev. 정우용 기술 블로그.
RSSGitHubContact
wooyongdev정우용이 기록하고 운영하며 성장하는 기술 블로그
PostsSeriesTagsProjectsAbout
⌕
⌕
PostsSeriesTagsProjectsAbout

Article

Spring Data JPA와 QueryDsl을 함께 쓰는 검색 API 설계

동적 조건 검색을 어떤 계층에 둘지 고민하며 Repository, Service, DTO 경계를 정리했습니다.

2026.05.20·10분·Spring Boot API 설계
#Spring#JPA#QueryDsl

문제 정의

검색 조건이 늘어날수록 Controller와 Service가 동시에 복잡해지는 문제가 있었습니다.

구현 경계

동적 조건 조립은 Repository 구현체에 두고, Service는 사용자의 의도를 명확한 query object로 넘깁니다.

  • 조건 생성은 한 곳에 모읍니다.
  • 응답 DTO 변환은 application 경계에서 처리합니다.

검증 기준

검색 조건이 비어 있을 때와 여러 조건이 조합될 때 같은 목록 contract를 유지해야 합니다.

tstype SearchQuery = {
  keyword?: string;
  tag?: string;
};

관련 글

개발

Next.js에서 SSR, SSG, ISR을 블로그 화면에 나누어 적용하기

공개 기술 블로그의 화면별 렌더링 방식을 사용자 경험과 학습 목적 기준으로 비교했습니다.

#Next.js#Rendering8분
2026.05.11
회고

기술 블로그를 포트폴리오와 개발 기록 저장소로 함께 쓰기

보여주기 위한 페이지와 나중에 다시 찾기 위한 기록 사이의 균형을 정리합니다.

#Writing#Portfolio6분
2026.05.08

목차

  1. 문제 정의
  2. 구현 경계
  3. 검증 기준

목록으로 돌아가기

전체 글 보기
© wooyongdev. 정우용 기술 블로그.
RSSGitHubContact