프로젝트 리팩토링 (2)

Hyuk·2023년 9월 3일
0

NOTODO 리팩토링

목록 보기
2/5
post-thumbnail

이번에는 Raw 타입으로 반환하던 것들을 리팩토링해보고자 한다.

@GetMapping("/view")
    public ResponseEntity viewNotodo(@AuthenticationPrincipal Member member,@RequestParam String date) {

        List<NotodoResponseDTO> response = notodoService.notodoView(member, date);

        return new ResponseEntity(response, HttpStatus.OK);
    }

기존의 코드는 다음처럼 컨트롤러에서 반환할 때 ResponseEntity로 반환하는데, Raw 타입으로 반환하고 있다.

Raw 타입을 사용하면 어떠한 타입도 넣을 수 있다는 장점이 있지만 프로그래밍에 편리함을 가져다주는 그 장점이 서비스의 장애를 일으키는 요인이 될 수 있다고 생각했다.

잘못된 타입을 사용했을 때 컴파일 시점에는 문제를 잡을 수 없지만, 런타임 시점에서 ClassCastException이 발생할 수 있다. 따라서 반환할 데이터 타입을 명시하도록 리팩토링 하였다.

따라서 변경한 코드는 다음과 같다.

@GetMapping("/view")
    public ResponseEntity<List<NotodoResponseDTO>> viewNotodo(@AuthenticationPrincipal Member member,@RequestParam String date) {

        List<NotodoResponseDTO> response = notodoService.notodoView(member, date);

        return ResponseEntity.ok(response);
    }

모든 메소드들이 Raw 타입으로 되어있어서 다 수정해주었다.

profile
🙂 🙃 🙂 🙃

0개의 댓글