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

Young.K님의 프로필 이미지
Young.K

작성한 질문수

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

회원 등록 API

클라이언트단과 서버단의 DTO 공유방식

해결된 질문

작성

·

310

0

안녕하세요 영한님!

만약에 실무에서 리액트와 스프링을 이용해서 클라이언트단과 서버단으로 나눠서 운영한다고 가정한다면, 클라이언트단과 서버단은 물리적으로 분리되어 있고 API로 데이터 요청과 응답을 주고받을 것이라 생각합니다.

근데 여기서 API를 주고 받기 위해서 클라이언트와 서버의 API 스펙을 매핑 해야하는데 클라이언트단 따로, 서버단 따로 클래스를 만들어서 관리하는 방식은 유지보수 측면에서 좋지 않다고 생각이 듭니다.

실제 실무에서는 어떤 방식으로 처리하는지 궁금합니다.

답변 2

2

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. Young.K님

웹 애플리케이션의 경우 클라이언트는 자바스크립트를 사용하고 서버는 자바를 사용해서 서로 기술이 완전히 다르기 때문에 HTTP 스펙과 JSON 내용을 공유하고, 실제 구현은 자바 언어로 할 수도 있고, 자바스크립트, 파이썬 등등 다양하게 나누어서 구현된다고 이해하시면 됩니다.

결국 HTTP 스펙과 JSON 데이터를 어떻게 할 것인가에 대한 기준만 명확하다면, 이것을 실제 구현하는 부분은 각각 따로 관리하더라도 큰 어려움은 없습니다.

참고로 표준화된 메시지를 가지고 각각 구현을 generate하는 방법이 있는데 예를 들어서 구글의 프로토콜 버퍼 같은 기술이 있습니다.

감사합니다.

1

Young.K님의 프로필 이미지
Young.K
질문자

늦은 시간에 답변 감사합니다!!

시스템을 체계적으로 명세화하여 관리하는 것이 특히 위와 같은 이유때문에 중요한거군요.

추가 정보까지 제공해주셔서 감사합니다!

Young.K님의 프로필 이미지
Young.K

작성한 질문수

질문하기