민스씨의 일취일장

TIssue | Postman에서 요청을 보냈는데 Controller에 도달을 안하는 이슈 본문

Programming Language & Framework/JAVA & Spring

TIssue | Postman에서 요청을 보냈는데 Controller에 도달을 안하는 이슈

읻민스 2024. 3. 4. 23:00
반응형

Tissue 썸네일 이미지이다.
Controller에 요청이 도착하지 않는 이슈

TIssue

오늘의 이슈는 다음과 같다.

Controller에 요청 자체가 도달하지 않는다.

원인

이 이슈에 대해서는 다양한 원인이 있을 수 있지만, 내가 겪은 이슈의 원인은 아주 간단했다. 어쩌면 너무 간단해서 못찾았던 것 같다. 원인은 바로!

@RequestBody 애너테이션을 사용하지 않았기 때문이다.

 

RequestDto를 만들어서 데이터를 매핑할 계획이었다. 스프링은 메시지 컨버터(Message Converter)를 이용해서 매서드의 매개변수와 요청의 데이터를 바인딩한다. 하지만 이 때 @RequestBody (또는 @RequestParam 등)이 없으면 스프링은 데이터를 매핑할 곳을 찾지 못하고 예외를 발생시킨다.

해결책

@RequestBody, @RequestParam, @PathVariable을 필요한 곳에 사용했는지 확인하자!

문제를 찾는 데 오래 걸렸던 이유

실제로 문제를 발견하는 데 까지 적지 않은 시간이 걸렸는데, 이유가 어떤 오류도 발생시키지 않았기 때문이다. 그렇기 때문에 요청이 Controller, 즉 메서드에 도달하지 못한 것으로 인식했다. 코드를 ChatGPT에게 물어보기라도 했으면 바로 찾았을 지도 모르겠다.

틈새 팁

답을 찾는 과정에서 ChatGPT를 너무 늦게 사용하지 말자!
728x90
반응형