ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring 프로젝트 - 조회 기능
    Spring 프로젝트 2025. 6. 2. 20:29

    minecraft-font

    💡 조회 기능

    📘 계획

    담당 기능

     

    11일 5분 브리핑을 할 예정이기에 준비할 내용을 위해 기능을 정리했다.

     

    권한별로 기능을 보게 되면 피드백 작성은 튜터 전용 기능을 몰아 넣을려고 했지만, URL의 규칙을 고려해서 피드백 요청 기능으로 모았다. 

    • 유저 기준 피드백 요청 조회
      ▶ 다건 조회로 , 유저인 경우 조회 할 경우가 다양하다.   
           1. 튜터 기준으로 조회
           2. 문서 기준으로 조회   
           3. 신청 상태 (대기, 취소 ....) 기준으로 조회 
           4. 날짜를 기준으로 조회

      총 4가지의 개별 경우로 각각있을 것이고, 두 개 이상 조합하는 경우가 있을 것이다.

       예를 들어 A튜터를 기준으로 여러개 문서로 신청한 경우, 날짜를 기준으로 신청 상태를 조회 하는 경우도 있을 것이다. 
      다양한 조합과 함께 조회하는 경우 복합 조건 조합도 지원 필요해, QueryDSL을 고려하지 않을수 없다.

       또, 결과를 출력할때는 한번에 출력하는 것보다 n개씩, 생성일 기준으로 최신순으로 정렬할 필요가 있어 Pageable로 한 번에 받을 양을 정리해서 구축할 것이다.  

    • 피드백 신청 상세 조회 (유저 또는 튜터인 경우)
      ▶ 단건 조회로 조회 하는 경우는 크게 어렵지 않다. 
           고민이 있다면, 튜터가 단건 조회 또는 유저가 단건 조회했을경우 출력할 내용 이다.

    • 튜터 기준 피드백 요청 조회
       다건 조회로 , 개인 직업이 있는 사람도 참여할 경우가 있기 때문에 가장 보고 싶어 하는 경우를 출력하기로 했다. 
           튜터 본인 기준으로 신청 받은 데이터를 조회 할 수 있게 조회 문을 준비하는 것이다.

    ⚠️ 요약

    기능  설명 권한 기술 비고
    유저 기준 피드백 요청 조회 다양한 조건 조합 조회 유저 QueryDSL + Pageable 최신순 정렬
    피드백 신청 상세 조회 단건 상세 조회 유저
    /
    튜터
    JPQL 권한별 출력 분기
    튜터 기준 피드백 요청 조회 본인 기준 수락 대기 요청 조회 튜터 JPQL 튜터 ID 기준 필터

     

    ✨ 회고

     

    • 복합 조회 조건에서 QueryDSL과 Pageable 조합의 필요성 확실히 인지
    • 권한 분기에 따른 응답 데이터 설계는 세심한 조율 필요
    • 내일부터는 기능별 실제 구현 흐름, API 명세와 로직 구조 설계에 착수할 예정

     

     

    'Spring 프로젝트' 카테고리의 다른 글

    ShedLock vs Redisson  (1) 2025.06.16
    Spring 프로젝트  (0) 2025.06.04
    Spring프로젝트 - 기능 구현 단계  (0) 2025.05.30
    Spring 프로젝트 - 주제 선정  (0) 2025.05.29
Designed by Tistory.