springboot1 [Spring Boot] Rest Controller DTO 의 필요성 Entity를 Client에 노출하지 말자 API 스펙과 엔티티가 깊이 연관 엔티티를 아래와 같이 직접 노출할 경우, 추후 entity를 수정시 API 스펙 자체가 바뀌어버리는 상황이 온다 클라이언트 쪽과 공유하는 부분이라 큰 혼란이 초래됨 @GetMapping("/api/users") public List userList(){ return userService.findUsers(); // User entity 리스트가 반환됨 } 반환값에 특정 필드 추가 불가 클라이언트에서 특정 계산된 값이 필요하다고 할 때, 예를 들어 user의 총 인원 수 JSON의 기본틀이 깨지게 된다 { "count" : 100, "users" : [ { "id" : 1 "name" : "hj" "email" : "email@g.. 2022. 2. 15. 이전 1 다음