Skip to content

최신 리뷰 리스트 응답 기능 구현 #23

Closed

Description

@hyunsb

내가 속한 빌딩의 오점완 리뷰 데이터를 반환한다.
페이징의 default size 는 10 으로 지정한다.

  • GET /api/reviews/buildings/{buildingId}?page={page}

프로세스

  • 요청 URL에 PathVariable로 포함된 building_id를 추출한다.
  • building_id에 해당하는 building_restaurant_map 테이블로부터 빌딩 근처의 restauant_id 추출한다.
  • restaurant_id을 사용하여 Resturant_review 테이블의 데이터를 리스트로 반환한다.
    • created_at 속성으로 최신순으로 정렬하여 반환한다.
    • 페이징 처리 후 반환한다. (default size: 10, page: 0)

Issue

  • 페이징 처리 중 총 페이지 개수를 구하는 로직 때문에 쿼리가 하나 더 날아가는 상황 발생 (리팩터링 대상)
    심지어 fetchCount()는 deprecated 됨
    아래와 같은 방법으로 최적화 가능하다는데 아직 확실하진 않기 때문에 연구 대상
     Page<RestaurantReviewResponse.ListDTO> page = query
         .offset(pageable.getOffset())
         .limit(pageable.getPageSize())
         .fetchResults();

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions