개발 기록

211124 TIL ( responesDto ) 본문

TIL

211124 TIL ( responesDto )

수염차 2021. 11. 25. 22:26

오늘 한 것 !

-챌린지 조회

-인증 생성, 조회, 삭제

 

 

controller 에는 엔티티 클래스가 바로 리턴 되면 안된다. Dto를 사용해야함.

심지어 DTO안에서도 DTO로 한번 감싸고 넣어줘야 한다.!?! 머리아퍼

한번 dto를 안 썼을때 생기는 문제를 직접 겪어보고 싶다. 왜이렇게 하는지 이론 적으로는 이해했는데 와닿지는 않는다.

 

내가 멍청하게 생각 못 했던 것

List<Certification> certifications = challenge.getCertifications();
        for (Certification certification : certifications) {
            CertificationResponseDto responseDto = new CertificationResponseDto(certification);
            this.certifications.add(responseDto);

엔티티에서 가져온 리스트 요소들을 dto에 담아서 보내주기. 어떻게 담지를 생각을 못 했다.

너무 간단한 거였는데 ㅠㅠ 기초가 모자란 것을 너무나도 많이 느낀다. 강의를 듣긴들어야돼..

 

-Long 을 long 이라고 썼더니 실행이 안됨 ( 당연한 건감 )

 

-서비스단에서 레포에서 가져온 엔티티 데이터를 dto로 바꿔주기 위해서 map을 사용했다.

블로그에서 보고 복붙한 거지만 좀 찾아봤다.

->

스트림 맵(함수 매퍼) 은 주어진 함수를 이 스트림의 요소에 적용한 결과로 구성된 스트림을 반환합니다. 

맵은 스트림 내 요소들을 하나씩 특정 값으로 변환해준다.

스트림에 들어가 있는 값이 input되어서 특정 로직을 거친 후 output이 되어 리턴되는 새로운 스트림에 담기게 되고 이작업을 맵핑이라고 한다.

 

스트림은 뭐징

(스트림은 데이터의 흐름 이라고 하는데.. 데이터가 왔다갔다 할 수 있게 중간에서 처리해주는 그런 거 같다.

예시

List<String> answer = list.stream().map(String::toUpperCase).
//리스트 요소들을 대문자로 바꿔줌
 list.stream().map(str -> str.length()).forEach(System.out::println);
 //문자열 대신 문자열 길이를 프린트함

내가 사용한 코드

list.stream().map(listDto::new).collect(Collectors.toList());

// 엔티티 리스트가 listDto 생성자에 input되어서 DTO가 리턴되고 그걸 리스트로 반환해주는 것 같다

 

-날짜 변환하기

LocalDateTime 을 String 으로 바꾸기

StartDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));

 

 

 

출처

https://www.geeksforgeeks.org/stream-map-java-examples/

 

Stream map() in Java with examples - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org

JAVA Stream 가공하기

자바 날짜 정리

 

스프링 어렵다 큰 흐름만 이해하면 뚝딱거리면서 해보기라도 할텐데 지금은 걍 참고자료 복붙이다. ㅠㅠ 계속 이러면 안 되니까.. 공부해야되는데 잠 줄이기가 쉽지 않다. 

'TIL' 카테고리의 다른 글

211128 WIL (3차 프로젝트 1주차)  (2) 2021.11.28
211126 TIL ( object list 중복제거 )  (0) 2021.11.26
211124 TIL ( 스프링 S3 파일 업로드)  (0) 2021.11.25
211122 TIL (@Transactional,예약어)  (0) 2021.11.22
211121 WIL  (0) 2021.11.21
Comments