api를 만들 때는 항상 entity를 파라메타로 받게 구현하지 않는다. entity를 외부에 노출해서도 안된다.
케이스별 dto를 만들어서 사용한다.
아래 예시 코드처럼 Response를 구현한다.
@GetMapping(path = "/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<List<MemberDto>>(collect.size(), collect);
}
@Data
@AllArgsConstructor
static class Result<T>{
private int count;
private T data;
}
@Data
@AllArgsConstructor
static class MemberDto{
private String name;
}
'스프링 관련 > 스프링 프레임워크' 카테고리의 다른 글
springboot test data.sql 넣는 방법 (0) | 2022.08.25 |
---|---|
타임리프 문법 사용법 (유틸리티 객체 등) 정리 (0) | 2022.05.05 |
스프링 어노테이션 annotation 정리 (0) | 2022.04.03 |
인텔리제이 쓸만한 단축키 정리 (0) | 2022.04.03 |
ORM 관련 (0) | 2022.04.02 |
댓글