TIL

내일배움캠프 12주차 목요일 TIL

news0516 2025. 1. 16. 21:20

내가 작성한 리뷰 API 정리

  • Repository (데이터 접근 계층)
    • Prisma ORM을 통해 DB와 직접 통신하는 계층입니다.
    • 주로 findMany, findUnique, create, update, delete 같은 메서드를 통해 리뷰CRUD(조회/생성/수정/삭제) 합니다.
    • 비즈니스 로직 없이 쿼리만 담당하며, 결과를 반환해 줍니다.
  • Service (비즈니스 로직 계층)
    • Repository를 주입받아, 유효성 검사비즈니스 규칙을 처리합니다. 예:
      • 별점이 1~5 범위인지 검사
      • 중복 리뷰(결제 건당 1개) 여부 확인
      • 정렬(최신순) 등 추가 로직
    • 필요한 로직을 수행한 후, Repository를 호출하여 DB에 접근하고, 결과값을 가공해 Controller로 전달
  • Controller (프레젠테이션 계층)
    • Express 라우팅을 통해 HTTP 요청(GET/POST/PUT/DELETE 등)을 받고, Service를 호출
    • 요청 파라미터나 바디를 파싱한 뒤, Service에 전달하여 처리 → 결과를 JSON 형식으로 응답
    • 에러 처리응답 코드 설정도 담당
  • 프론트엔드
    • 사용자가 메뉴를 확인하고 선택 → 장바구니에 담고 → 주문을 진행하는 흐름을  API 호출을 통해 구현
    • 리뷰 부분에서도 특정 음식점/사용자 리뷰를 조회하거나, 리뷰 작성·수정·삭제를 위한 API를 호출
    • 서버 응답을 받아 화면을 갱신(리뷰 목록 표시, 장바구니 목록 렌더링 등)하며, 이벤트 리스너로 사용자 입력을 처리