public List<PostResponseDto> getAllPost(User user) {
// 모든 게시글 작성일별 내림차순 리스트
List<Post> posts = postRepository.findAllByOrderByCreatedAtDesc();
List<PostResponseDto> postList = new ArrayList<>();
for (Post post : posts) {
postList.add(new PostResponseDto(post, isLike));
}
return postList;
}
예를 들어 위와 같은 전체 게시글을 조회하는 기능이 있다 가정하고 Stream을 사용해보자.
postRepository.findAllByOrderByCreatedAtDesc().stream().map(post -> new PostResponseDto(post)).collect(Collectors.toList());
map 안의 코드를 잘 봐야 하는데 post 형식을 PostResponseDto 형식으로 형변환 한다고 생각하면 편하다.
하지만 map을 조금 더 짧게 사용할 수 있고 적용하면 아래와 같다.
return postRepository.findAllByOrderByCreatedAtDesc().stream().map(PostResponseDto::new).collect(Collectors.toList());
'TIL' 카테고리의 다른 글
SpringBoot DB 설계 - ERD 그리기 (0) | 2023.03.25 |
---|---|
CI/CD 자동배포 (0) | 2023.03.23 |
백 & 프론트 협업시 발생하는 CORS에러 해결 방법. (0) | 2023.03.20 |
AWS - EC2, RDS 내 SpringBoot 프로젝트와 연결하기 (0) | 2023.03.18 |
다양한 Exception 커스텀하는 방법. (0) | 2023.03.16 |