연구실 기술 블로그 프로젝트의 ‘좋아요 취소’ 기능을 구현하던 중 delete 요청 시, 두 번째 파라미터에 데이터가 담기지 않고 Argument type {boardId} is not assignable to parameter type axios.
라는 경고 메시지가 떴다.
BackEnd와 맞춘 URI와 body 모두 맞게 작성하였음에도 불구하고, body에 데이터가 담기지 않았다.
Axios에서 제공하는 post
, put
, patch
등의 메서드를 사용하여 서버에게 요청을 보낼 때, 두 번째 파라미터에 넣은 인자는 요청의 본문인 body에 data로 전송된다.
반면, Axios 공식 문서에서 delete 메서드는 delete(url[, config])
과 같은 형태로 사용 가능하다고 명시하고 있다.
즉, delete 메서드는 data를 필요로 하지 않고 url과 config만을 파라미터로 갖는데 두 번째 파라미터에 데이터를 실어 주었기 때문에 {boardId}는 할당 가능하지 않은 인수라고 경고 메시지가 뜬 것이다.
이는 Axios가 delete 요청 시 body를 지원하지 않는 HTTP 규약을 따랐기 때문이다.
body에 data를 실어 delete 요청을 보내고 싶다면, 실어 보내고자 하는 data를 config 객체의 data 프로퍼티의 값으로 명시하면 된다.
다음은 Axios에서 사용 가능한 메서드 형태이다. 각각의 메서드가 필요로 하는 파라미터를 참고하여 요청 메서드를 작성하면 좋을 듯 하다!
잘 읽었습니다. 좋은 정보 감사드립니다.