[조회]용으로만 사용하는 경우, 도메인 엔티티로 API를 개발해도 괜찮다.
@GetMapping("/membersV2/{id}")
public String findMemberv2(@PathVariable("id") Member member){ // PK인 ID를 받아서 [바로] 해당 엔티티로 반환!
// PK값을 받아서 해당 객체를 찾는 [단순한] API일 때는 컨버터를 사용해도 괜찮지만,
// 사실 실무에서 PK를 받아서 객체를 찾는 그런 단순한 API는 잘 없다.
// 대부분의 경우, PK 값을 받아서 여러 로직들을 짜주는 경우가 대부분이다.
// -> [도메인 엔티티]로 API 개발을 절대 해서는 안된다.
// 만약에 [도메인 엔티티]로 API 개발을 한다고 하면
// 딱 [조회] 용으로만 사용해야 한다.(id값으로, 해당 객체를 [조회]하는 용도로만 사용!!)
return member.getUsername();
}
위 코드의 경우
API 스펙으로 id값(PK)을 넘기면, Spring에서 [도메인 클래스 Converter]라는 기능을 통해.
해당 id 값에 해당하는 도메인 클래스를 자동으로 탐색하여, 매개 변수에 삽입해 준다.
이와 같이 PK값으로 도메인 클래스를 [조회]하는 용도로만 사용을 한다면,
API를 도메인 엔티티를 사용하여 개발해도 괜찮다.
'CS 잡지식' 카테고리의 다른 글
Spring Data JPA가 제공하는 SAVE()의 비밀(매우매우 중요) (0) | 2023.05.13 |
---|---|
요청 API에서 Paging 정보 넘기기!!! (0) | 2023.05.13 |
@Column(updateable , insertable .... ), @PrePersist, @PreUpdate (0) | 2023.05.13 |
사용자 정의 인터페이스(feat. Spring Data JPA) (0) | 2023.05.12 |
Dirty Checking의 치명적인 Weakness(단점)(feat. hint,lock) (1) | 2023.05.12 |