-
[트러블슈팅] Request Body 가 빈값으로 전달됨 (405 MissingServletRequestParameterException)Back End/트러블슈팅 2022. 5. 21. 22:01
BE 의 컨트롤러는 PUT Method 를 매핑하고 있었고, FE 에서는 PUT 요청으로 보내고 있었는데
405 Method Not Allowed 를 FE 에서 전달받아, 스프링시큐리티 설정 어딘가에서
특정 HTTP Method 를 막아놓은 줄 알고 엄청 삽질을 했습니다...심지어 BE 에서 확인 할 수 있는 Exception 은 MissingServletRequestParameterException 이었는데
보통 클라이언트가 API 명세와 다른 Request Body 를 보냈을 때 발생 합니다.
하지만... 저는 그게 아니었죠. ㅠ_ㅠ...
값 자체가 전혀 전달이 되지 않았거든요,,,
현상
컨트롤러에 Request Body 가 빈값으로 전달됨
원인
FE 에서 Payload 는 HTML formData 으로, HttpMethod 는 PUT 으로 요청을 하고
BE 에서 컨트롤러가 PUT Method 를 매핑하고 있어 발생한 문제HTML formData 는 GET/POST만 지원한다 (HTTP 스펙)
해결
FE 에서 Payload 를 JSON 으로 를 변환하여 보낸다
728x90'Back End > 트러블슈팅' 카테고리의 다른 글