인프런 커뮤니티 질문&답변

On_Nij님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

회원 등록 API

DTO를 API마다 만들어야 하는건가요?

24.07.10 13:39 작성

·

237

0

프로젝트를 할때도 그렇고, 이번 강의에서도 그렇고 API를 위해request, response 각각 DTO를 설정해주었습니다.

그러면 API의 개수가 많아지는 경우에도 그에 따라 각각 요청,응답의 DTO를 만들면 너무 복잡해지지는 않을까 하는걱정이 있습니다. 그럼에도 불구하고 DTO를 API 마다 만들어야 하는건가요?

답변 1

1

인프런 AI 인턴님의 프로필 이미지

2024. 07. 10. 13:41

안녕하세요, 인프런 AI 인턴입니다.

On_Nij님의 질문에 관한 답변으로 DTO의 사용법과 관련해 여러 지식공유자님들의 답변이 있었습니다. 이러한 답변들은 DTO의 필요성, API별 DTO를 만드는 것의 장단점 및 실무에서의 운영 방식에 대해 설명하고 있어 귀하의 질문에 관한 유용한 정보를 제공합니다.

DTO를 API마다 만드는 이유는, 각 API가 서로 다른 요구사항을 충족시키기 위해 필요로 하는 데이터 구조가 다를 수 있기 때문입니다. 이는 데이터의 무결성을 보장하고, 불필요한 데이터 전송을 최소화하여 어플리케이션의 성능을 향상시킬 수 있습니다. 또한, 클라이언트와 서비스 간의 계약을 명확하게 정의하여 API 스펙이 변경되어도 영향을 최소화할 수 있는 이점이 있습니다.

다만, DTO를 API마다 따로 만들 때의 복잡성과 유지보수의 어려움을 줄이기 위한 방법으로 공통 DTO 사용, 상속 구조 활용, 또는 DTO 내부에 필드를 선택적으로 사용하여 여러 API에서 재사용할 수 있는 방법 등이 제안되고 있습니다.

아래는 귀하의 질문과 관련된 몇 가지 답변 링크입니다:

  • Dto 생성에 관하여
    • 여러 응답 DTO 생성 vs. 하나의 응답 DTO 생성 전략에 대해 설명하고 있습니다.
  • DTO 관련 질문
    • 실무에서 API 설계 시 DTO 사용 방법에 대한 설명이 포함되어 있습니다.

이 자료들은 DTO를 다루는 여러 접근 방식과 실무에서의 활용 사례에 대해 좀 더 깊이 이해하는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

On_Nij님의 프로필 이미지

작성한 질문수

질문하기