Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feat] 맛집 목록 조회 기능 구현 #13

Merged
merged 7 commits into from
Sep 2, 2024
Merged

Conversation

rhaehf
Copy link
Contributor

@rhaehf rhaehf commented Sep 1, 2024

Issue

PR 타입(하나 이상의 PR 타입을 선택해주세요)

  • 기능 추가
  • 기능 변경
  • 버그 수정
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트

반영 브랜치

feat/store_list -> feat/store

변경 사항

  • 맛집 목록 조회 기능 구현
  • QueryDSL을 사용하기 위한 의존성 및 Config 파일 추가
  • Category 값 변경
  • 필수 RequestParam을 처리하는 에러 핸들러 구현

테스트 결과

Request

HTTP : GET
URL : /api/stores 

Response : 성공시

  1. 일치하는 데이터가 없을 때 - 204(No Content) 반환
2. 거리순 - 200(OK) 반환
[
    {
        "storeId": 1,
        "sigun": "서울특별시",
        "storeName": "서울 김밥1",
        "category": "Lunch",
        "address": "서울특별시 강남구",
        "storeLat": 126.9382030977,
        "storeLon": 37.5661401834023,
        "rating": 5.0
    },
    {
        "storeId": 2,
        "sigun": "서울특별시",
        "storeName": "서울 김밥2",
        "category": "Lunch",
        "address": "서울특별시 강남구",
        "storeLat": 126.9383030977,
        "storeLon": 37.5662401834023,
        "rating": 4.0
    },
    {
        "storeId": 3,
        "sigun": "서울특별시",
        "storeName": "서울 김밥3",
        "category": "Lunch",
        "address": "서울특별시 강남구",
        "storeLat": 126.9384030977,
        "storeLon": 37.5663401834023,
        "rating": 3.0
    }
]
3. 평점순 - 200(OK) 반환
[
   {
      "storeId": 1,
      "sigun": "서울특별시",
      "storeName": "서울 김밥1",
      "category": "Lunch",
      "address": "서울특별시 강남구",
      "storeLat": 126.9382030977,
      "storeLon": 37.5661401834023,
      "rating": 5.0
  },
  {
      "storeId": 6,
      "sigun": "서울특별시",
      "storeName": "서울 중식6",
      "category": "Chinese",
      "address": "서울특별시 관악구",
      "storeLat": 126.9387030977,
      "storeLon": 37.5666401834023,
      "rating": 4.8
  },
  {
      "storeId": 5,
      "sigun": "서울특별시",
      "storeName": "서울 중식5",
      "category": "Chinese",
      "address": "서울특별시 관악구",
      "storeLat": 126.9386030977,
      "storeLon": 37.5665401834023,
      "rating": 4.7
  }
]

Response : 실패시

  • 필수 RequestParam인 'lat'을 입력하지 않았을 때 - 400(Bad Request) 반환
    {
        "status": 400,
        "message": "필수 파라미터 'lat'가 누락되었습니다."
    }

@rhaehf rhaehf added the feat label Sep 1, 2024
@rhaehf rhaehf self-assigned this Sep 1, 2024
@rhaehf rhaehf linked an issue Sep 1, 2024 that may be closed by this pull request
4 tasks
Copy link
Contributor

@jw427 jw427 left a comment

Choose a reason for hiding this comment

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

QueryDSL 사용하는데 어려움 많으셨을텐데 고생많으셨어요!


import java.util.List;

public interface StoreRepositoryCustom {
Copy link
Contributor

Choose a reason for hiding this comment

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

StoreRepositoryCustom라는 인터페이스를 따로 두는 이유가 뭔가요?

Copy link
Contributor Author

@rhaehf rhaehf Sep 2, 2024

Choose a reason for hiding this comment

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

StoreRepositoryCustom는 StoreRepository에서 QueryDSL에 대한 내용을 extends 받아서 사용하기 위해서 작성한 파일입니다.
그러면 StoreRepository를 사용할 때 QueryDSL에 대한 것들도 같이 사용할 수 있어집니다.

Copy link
Contributor

@jeongeungyeong jeongeungyeong left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!

@rhaehf rhaehf merged commit 796881b into feat/store Sep 2, 2024
@rhaehf rhaehf deleted the feat/store_list branch September 2, 2024 01:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

맛집 목록 (API)
3 participants