Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 편향된 지수
- 파이썬
- 프로그래머스
- 커밋 되돌리기
- 티스토리챌린지
- 무한정 대기
- 리눅스
- Git
- 기본키 전략
- API
- 쿠키
- JPA
- @SubscribeMapping
- 쉘 스크립트
- 알고리즘
- @Autowired
- intelij spring config
- 런타임 상수
- spring
- 백준
- application layer
- 컴파일 타임 상수
- 은행원알고리즘
- DTO
- m:n
- compgen
- allocationSize
- JDBC
- BindingResult
- 오블완
Archives
- Today
- Total
둘셋 개발!
[API개발과 성능최적화-1] 회원 api 생성 시 주의점 본문
이렇게 하면 다음과 같은 문제점이 발생한다.
문제점
- 엔티티에 프레젠테이션 계층을 위한 로직이 추가된다 -> 같은 엔티티에 대해 api가 용도에 따라 다양하게 만들어 지는데, 한 엔티티에 모든 요청 요구사항을 담기 힘들다
- 엔티티가 변경되면 api스펙이 변한다
- (회원 조회) 컬렉션을 직접 반환하면 나중에 api 스펙을 변경하기 어렵다
결론
- api 요청, 응답 스펙에 맞춰 별도의 DTO를 만든다
DTO란 ? Data Transfer Object의 약자로, 계층간 데이터 교환을 위한 자바빈즈를 뜻한다.
(출처 : 이리의 개발 이야기 https://iri-kang.tistory.com/5)
- 엔티티를 API 프렉에 노출 하면 안된다
- (회원 조회) 제네릭 클래스로 감싸줘서 나중에 필요한 필드를 추가할 수 있다.
(참고 : 인프런 김영한 강사님 - 실전! 스프링 부트와 jpa활용2)
'JPA' 카테고리의 다른 글
[JPA] 다대일에서 update쿼리가 잘못 나갈 수 있다..! (0) | 2023.09.22 |
---|---|
[JPA] Primary Key 자동 생성 전략 (0) | 2023.09.15 |
[JPA 기본편] Jpa 구동방식 (0) | 2022.03.26 |
[API개발과 성능최적화-3] 컬렉션 조회 최적화 (0) | 2021.11.25 |
[API개발과 성능최적화-2] 주문 api 생성 시 성능 최적화 (1) | 2021.11.17 |