@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로 바꾸기!
'BACK > JPA' 카테고리의 다른 글
[JPA] Querydsl 중급 문법 (프로젝션, 동적 쿼리, 벌크 연산, SQL function) (1) | 2024.03.15 |
---|---|
[JPA] Querydsl 기본 문법 (검색, 조회, 정렬, 페이징, 집합, 조인등) (0) | 2024.03.15 |
[JPA] Querydsl 프로젝트 환경설정 - 설정과 검증 (0) | 2024.03.15 |
[JPA] Dirty Checking(변경 감지) (0) | 2023.04.11 |
[JPA] Executing an update/delete query 에러 해결 (0) | 2022.08.31 |