본문 바로가기

내일 배움 캠프

2023-12-19

오늘은 플러스 주차 개인 프로젝트 과제를 시작한 날이다. 기존에 했던 ToDo프로젝트를 그동안 쌓은 역량으로 업그레이드를 진행하는 과정을 진행하려고 한다.

첫날 진행한 과정은 다음과 같다.

1. 글로벌 Exception 및 ErrorResponse Success Response 리펙토링 각 domain별 Controller 코드 수정

 

1. 프로젝트 진행 첫날 기존에 있던 ToDo코드를 리펙토링을 진행했다. 처음으로 공통적인 코드를 수정하려고 계획을 정하고 바로 수정을 진행했고, ToDo코드에서 처음 적용했었던 GlobalException 코드를 그동안 배운 경험으로 보다 더 높은 규약이 있는 Response코드로 변경했다. 일단 기본적인 구조부터 수정을 진행했다. 기존의 코드는 레이어 별로 도메인을 나눠 놨다면 리펙토링을 위해  API별 레이어로 계층을 나누는 과정을 진행했고 아래의 이미지와 같이 간단한 게 변경했다. 

구조변경 후 작성했던 Response코드를 작성 및 수정했다. 기존에 있던 각 도메인별 Controller에서는 ResponseEntity에 있는 Httpstatus코드를 통해  상태값을 반환했다면 리펙토링 한 Response에는 상태코드 및 상태코드의 value값과 커스텀 메시지 그에 해당하는 Response값을 반환했다. 예시는 다음과 같다.

// 게시글 작성
    @PostMapping("/todo")
    public ResponseEntity<SuccessResponse> createCard(@RequestBody ToDoRequestDto requestDto,
                                        @AuthenticationPrincipal UserDetailsImpl userDetails) {
        ToDoResponseDto toDoResponseDto = toDoService.createCard(requestDto, userDetails.getUser());
        return ResponseEntity.status(SUCCESS_CREATE_CARD.getHttpStatus().value())
            .body(new SuccessResponse(SUCCESS_CREATE_CARD,toDoResponseDto));
    }

해당 코드는 할일카드를 생성하는 Controller에 있는 코드이며 해당 코드의 return값을 본다면 위의 설명과 같이 응답에 대한 결과를 SuccessResponse의 생성자를 통해 규약을 걸어 반환하는 것을 확인할 수 있다.

'내일 배움 캠프' 카테고리의 다른 글

2023-12-21  (1) 2023.12.22
2023-12-20  (0) 2023.12.20
2023-12-18  (1) 2023.12.18
2023-12-15  (0) 2023.12.15
2023-12-08  (0) 2023.12.09