트러블 슈팅

e_zy·2024년 10월 17일

과제를 진행하면서 너무 수많은 오류와 싸우며 좌절을 맛보았습니다.. 과제 중간에 진짜 이번 과제 포기하고 싶다는 생각도 들었지만 팀원들 및 부트캠프 동료들 덕분에 밤새 끝까지 진행한 것이 가장 큰 트러블 슈팅이었던 것 같습니다. 하지만 과제를 진행하며 생긴 기억나는 오류 2 가지를 꼽자면

  1. 파라미터 이름 관련 오류
    문제 설명: Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified라는 오류가 발생했습니다.

위 오류는 포스트맨으로 수정 및 삭제를 할 때 뜨는 오류였는데 지피티도 돌려보고 튜터님을 찾아가서 물어보며 해결하였습니다.

public Long updateUser(@PathVariable Long id, @RequestBody UserRequestDto requestDto){
        return userService.updateUser(id, requestDto);
    }

위 코드에서 @PathVariable가 파라미터 값을 인식을 하지 못해서 생긴 오류였으며 오류가 생긴 원인은 찾지 못하였고 , 해결만 하였습니다. 일단 @PathVariable 뒤에 명시적으로 이름을 지정하여 @PathVariable("id") 를 추가하여 해결하였습니다. 튜터님께 여쭤봤지만 원래는 위 코드로 실행이 되어야하나 원인은 모르겠다고 하였습니다.

  1. HttpMessageConversionException 오류

문제 설명 : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed ] 라는 오류가 발생했습니다.

위 오류는 비교적 간단한 오류였는데 DTO에서 @Getter가 누락되어 생긴 오류였습니다. 위 문제는 지피티를 통해 해결하였으며 @Getter의 기능과 중요성에 대해서 알게 된 시간이었던것 같습니다.

profile
코딩 왕초보

0개의 댓글