JPA Day-1
진도 [생성 api ~ 조회 api]
api 개발시 entity를 외부에 노출하거나, 파라미터로 받으면 안된다.
- entity를 그대로 사용하면 중간에 변동성 때문에 api 호출시 깨질 수 있다.
- DTO를 파라미터로 사용하여 받는다.
수정 api 개발시 command와 query를 분리하여 개발할 때 유지보수성이 증가한다.
entity를 직접 반환하면 안된다
@JsonIgnore annotation을 사용하면 반환 시 없는 경우 나타나지 않는다.
다만 해당 어노테이션을 사용하는 것이 모든 케이스를 막기는 어렵다
DTO를 사용하여 반환해야한다.
public Result membersV2() { List<Member> findMembers = memberService.findMembers(); //엔티티 -> DTO 변환 List<MemberDto> collect = findMembers.stream() .map(m -> new MemberDto(m.getName())) .collect(Collectors.toList()); return new Result(collect); } @Data @AllArgsConstructor class Result<T> { private T data; }
출처
'Back-end > Spring' 카테고리의 다른 글
[Spring boot + MongoDB + MySQL] DB 2개 연동하기 (0) | 2022.07.26 |
---|---|
[JPA] jpa 2일차 (0) | 2021.07.27 |