BACK/JPA

[JPA] Entity List를 DTO리스트로 바꾸기

연듀 2022. 8. 1. 14:17

 

@GetMapping("/api/v2/members")
public Result memberV2(){
     List<Member> findMembers = memberService.findMembers();
    List<MemberDto> collect = findMembers.stream()
            .map(m-> new MemberDto(m.getName()))
            .collect(Collectors.toList());

    return new Result(collect.size(), collect);
}

@Data
@AllArgsConstructor
static class Result<T> {
    private int count;
    private T data; // 리스트의 값
}

@Data
@AllArgsConstructor
static class MemberDto{ // 노출할 것만
    private String name;
}

실행 결과

 

 

엔티티는 절대 외부에 직접 반환하지 말 것.

항상 다 dto로 바꾸기!