둘셋 개발!

[API개발과 성능최적화-1] 회원 api 생성 시 주의점 본문

JPA

[API개발과 성능최적화-1] 회원 api 생성 시 주의점

23 2021. 11. 13. 15:16

회원저장
회원 조회

이렇게 하면 다음과 같은 문제점이 발생한다.

 


 

문제점

  • 엔티티에 프레젠테이션 계층을 위한 로직이 추가된다 -> 같은 엔티티에 대해 api가 용도에 따라 다양하게 만들어 지는데, 한 엔티티에 모든 요청 요구사항을 담기 힘들다
  • 엔티티가 변경되면 api스펙이 변한다 
  • (회원 조회) 컬렉션을 직접 반환하면 나중에 api 스펙을 변경하기 어렵다

 

결론

  • api 요청, 응답 스펙에 맞춰 별도의 DTO를 만든다
DTO란 ?       Data Transfer Object의 약자로, 계층간 데이터 교환을 위한 자바빈즈를 뜻한다. 

(출처 : 이리의 개발 이야기 https://iri-kang.tistory.com/5)

 

  • 엔티티를 API 프렉에 노출 하면 안된다
  • (회원 조회) 제네릭 클래스로 감싸줘서 나중에 필요한 필드를 추가할 수 있다.

 

(참고 : 인프런 김영한 강사님 - 실전! 스프링 부트와 jpa활용2)