Skip to content
This repository was archived by the owner on Oct 16, 2024. It is now read-only.
This repository was archived by the owner on Oct 16, 2024. It is now read-only.

과제 코드 리뷰 #1

@mindori

Description

@mindori

middlewares/logger.middleware.js

  • 로거 미들웨어 구현이 잘 되어있네요. 요청의 정보를 명확하게 기록하고 있어서 디버깅 시 유용할 겁니다.
  • 요청 시각을 ISO 형식 문자열로 기록하는 것이 더 표준적이에요.
    • new Date().toISOString()을 사용하는 것이 좀 더 나을 것 같습니다.

middlewares/error-handler.middleware.js

  • 모든 에러를 404(상품이 존재하지 않음)로 처리하고 있어서 적절하지 않은 에러 응답이네요.
    • 에러 유형에 따라 다른 상태 코드와 메시지를 반환할 필요가 있어보입니다.

routes/products.router.js

  • 코드의 기본적인 CRUD 구조를 잘 따르고 있습니다. 경로와 기능이 명확해서, 이해하기 쉬운 구조에요.
  • 상품 목록 조회 API에서는 모델에서 직접 필드를 선택해서 반환하고 계시는데 Mongoose의 .select() 메서드를 사용하는 것을 추천합니다.
    • 이렇게 하면 Mongoose로 해당 필드만 편하게 조회할 수 있어요!
  • 입력값 검증 로직이 각 API에 존재하는 것은 좋은 습관이네요!
  • 상품 수정 및 삭제 API에서 비밀번호 비교 후 에러를 반환할 때 404보다는 401(Unauthorized) 에러 코드를 반환해주세요.

schemas/products.schema.js

  • 스키마 정의가 명확하고 간결하게 잘 되어있습니다. 필수입력 필드(required)와 기본값(default) 설정이 적절합니다.
  • createdAt 필드도 default 필드를 설정해주시는게 좋겠습니다.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions