느리더라도 꾸준하게

안녕하세요? 제이온입니다.

 

오늘은 스프링 입문 체스 3단계 피드백에 대한 수정 사항을 반영하고, 나머지 시간은 자격증 공부를 했습니다.

 

 

1차 피드백

저는 어제 pr을 보냈는데, 그 당일날 피드백이 왔습니다. 

 

 

 

 

첫 번째 수정 사항은 메소드명을 바꾸는 것입니다. 위와 같이 ChessDao에서 해당 테이블의 모든 값을 가져오는 행위를 load라고 지어주었습니다. 그런데, DAO는 요청한 데이터를 제공하는 것 정도라서 load라는 표현은 좋지 않다고 말씀해주셨습니다. 그래서 find 정도로 수정하였으나, 어떤 기준을 갖고 Dao 메소드명을 지어야하는지 모르겠어서 이 부분은 추가 질문했습니다.

 

 

 

 

두 번째 수정 사항은 데이터를 model에 담아서 보내기보다는 Rest API를 사용하라는 것입니다. 그래서 fetch를 통해 비동기 통신을 하였습니다.

 

 

    @GetMapping("/view")
    public ResponseEntity<GameStatusRequestsDto> viewRoom() {
        final GameStatusRequestsDto gameStatusRequestsDto = chessService.roomInfos();
        return new ResponseEntity<>(gameStatusRequestsDto, HttpStatus.CREATED);
    }

 

 

위와 같이 "/view" 경로를 만들어 주고, Response의 body는 gameStatusRequestsDto를 설정해 주었습니다. 해당 GameStatusRequestsDto는 GameStatusRequestDto의 일급 컬렉션으로, 체스 게임 방의 이름과 게임 종료 여부라는 정보를 담고 있습니다. js에서 fetch 통신을 함으로써 해당 응답값을 받아올 수 있습니다.

 

 

 

 

마지막은 저의 개인적인 질문이었습니다. 현재 ResponseEntity의 Body로 ErrorResponseDto를 넘기고 있는데, 해당 객체에는 String 타입의 message만 존재합니다. 이럴 바에는 Body의 단순히 String만 넘기는 것은 어떤지 리뷰어님께 질문하였습니다.

 

 

 

 

항상 동일한 Error Response라는 것은 Body의 객체가 같아야 한다고 이해했습니다. 예를 들어, 어떤 Error Response는 message만 있고, 어떤 Error Response는 message와 에러가 난 객체가 있으면 안 되는 것이죠.

 

여기서 휴는 처음에 크루들에게 에러 모델을 사용하지 말라고 하셨습니다. 왜냐하면, 공통 에러 응답 모델과 공통 응답 모델을 구분하지 않고 한꺼번에 공통 응답 모델을 잘못 사용하는 경우가 빈번하기 때문이죠. 저도 실제로 ResponseEntity의 존재도 모르고 에러와 비즈니스 로직을 담은 객체를 한꺼번에 CommonResponseDto로 담아서 응답했었습니다.

 

이제는 헷갈리지 않습니다. ResponseEntity로 반환을 하되, body가 없을 때는 <Void>, 있을 때는 <"적절한 Dto 객체">, 에러 일때는 <ErrorResponseDto>를 사용하는 것입니다.

 

다만, 이 부분은 다시 한 번 더 휴에게 확인을 부탁드리려고 합니다.

 

 

자격증 공부

우테코 레벨 2가 이렇게 빡셀 줄 모르고, 자격증 공부를 레벨 2 기간동안 병행하자라고 생각하였으나.... 저의 잘못된 판단이었습니다. 사실상 오늘 전까지는 거의 책을 펼쳐 보지도 않았는데 시험이 당장 토요일이라서 어쩔 수 없이 피드백 반영 이후 모든 시간을 자격증 공부에 올인했습니다. 암기 내용이 상당히 많은데 제가 아는 부분 나오라고 기도하면서 기출 문제를 서둘러서 풀어봐야겠습니다.

 

 

정리

남들보다 스프링을 모르는데 자격증이 제 발목을 잡게 되어 참 아쉽습니다. 내일 오프라인 활동할 때는 보라돌이 책을 보고 칼퇴해서 기출 문제를 열심히 돌려보고 시험에 임해야겠습니다.

donaricano-btn

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band

본문과 관련 있는 내용으로 댓글을 남겨주시면 감사하겠습니다.

비밀글모드