본문 바로가기

CS 잡지식

[도메인 엔티티]로 API를 개발이 허용되는 유일한 경우!

[조회]용으로만 사용하는 경우, 도메인 엔티티로 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를 도메인 엔티티를 사용하여 개발해도 괜찮다.