실무에서의 권장 방식

    • Create, Update는 분리하는 것이 일반적입니다.
      • Create는 대부분 필수 필드가 많고, 기본값 설정이나 추가적인 유효성 검사를 요구합니다.
      • Update는 부분 업데이트(Partial Update)를 지원해야 하는 경우가 많아, 선택적인 필드를 허용합니다.
    • Read와 Write를 분리하라 (CQRS 원칙에 따라):
      • Read용 DTO: 사용자에게 데이터를 반환할 때 최적화된 필드만 포함.
      • Write용 DTO (Create/Update): 요청 데이터를 받을 때 필요한 필드만 포함.

    ➡︎ Create, Update 요청 DTO 분리

    • CreateXxxDto: 생성 전용
    • UpdateXxxDto: 수정 전용

    ➡︎ Create, Update 응답 DTO 형식이 유사하다면 통일해도 됨

    • XxxReadResponseDto : 읽기 전용
    • XxxResponseDto : 생성/수정

     

    프로젝트 할 때마다 궁금했는데, 최종 프로젝트를 앞두고 API 설계를 하다가 찾아봤다!

    + Recent posts