Required request body is missing
PostMapping으로 api 통신을 하는데
Required request body is missing 에러가 났다.
급해죽겠는데 왜 이런 오류가 나는지 원….
이런 오류가 나는 이유는 크게 두가지가 있다.
- mapping 지정을 제대로 해주었는지?
request body 라는 것은, 통신이 이루어질 때 받아야하는 데이터가 있어야 한다는 것이다.
그러니까 api 호출을 할 때 데이터를 보내주어야 한다는 것이다.
근데 GetMapping을 쓴다면, 데이터를 보내주어야 하는 상황과 맞지 않다.
api 통신을 할 때는 항상 응답값이 있기 때문에 아무렇지 않게 Get을 쓰기 쉽지만,
데이터를 보내줘야하는지 말아야하는지를 생각해서 사용하는 것이 좋다.
내가 요청데이터를 보낼 때는 PostMapping을 사용하는 것을 잊지 말자!
get으로 데이터를 보낼 수도 있는데 그 때는 주로 url에 포함시켜서 보내기 때문에
보안에 취약할 수 있다는 점도 기억하는 것이 좋다!
- 데이터를 제대로 보냈는가?
위와 일맥상통하는 부분이 있는 부분이다.
request body를 표시했다면 분명히 데이터를 보내주어야 한다는 것이다.
json 형태로 데이터를 제대로 보냈는지 확인해보아야 한다!
나같은 경우는….
body에 데이터를 포함시키지 않고 url에 파라미터를 던지고 있었다.
그러니 당연히 받을 데이터가 없다고 에러가 나오지…ㅠㅠㅠ
이름부터 ‘request body’이지 않은가!!!
url에 파라미터를 넣을 때는 requst param을 쓰는데…
내가 맘이 급해서 그 부분을 간과하고 있었다ㅠㅠ
body에 json 형식으로 데이터를 보내주니 바로 해결!!
아무리 급하더라도 기본적인 것은 제대로 숙지하고 넘어가야 될 것 같다.
급할수록 돌아가라 라는 말이 괜히 나온 것이 아니라는 걸 느낀 하루. ㅠㅠ