개인 클론 프로젝트 진행 중 POST 요청이 제대로 적용되지 않아 500 에러가 지속적으로 발생했다.
코드 중 OrderItems()의 객체들을 반복해서 update 추가하는 부분이 있었는데, 터미널에서는 OrderItems()가 null이기 때문에 nullpointerexception가 발생한다는 문장이 출력됐다.
하지만 아무리 찾아봐도 코드에서 문제점을 찾을 수 없었다.
그렇게 코드에서 잘못된 부분을 찾기 시작한지 두 시간 하고도 하루가 흘렀다...
그러나 이 오류는 황당무계한 실수로 인해 벌어진 오류였다! POST 요청 과정에 사용되는 DTO 클래스에 오타가 있었던 것이다.
POST 메소드에서는 변수의 이름을 orderItems
로 가져오고 있었는데 DTO 클래스에서는 해당 변수를 OrderItems
로 정의하고 있었던 것이다. 사실 인텔리제이에서는 변수명이 다르다는 오류표시가 되지 않았기 때문에 이게 어찌된 일인가 싶기도 했지만 DTO 클래스의 변수명을 orderItems
로 리팩터링하니 POST요청 실패 문제가 해결됐기 때문에 변수명의 불일치가 원인이었던 것은 맞는 것 같다.