안녕하세요~ 챠니입니다! :)
오늘은 개발중에 나타나는 오류에 대해서 알아보겠습니다.
Non-body HTTP method cannot contain @Body.
retrofit2 DELETE를 구현하는 과정에서 다음과 같은 오류를 만나게 되었는데요!
오류 해결방법에 대해서 알아보겠습니다
Non-body HTTP method cannot contain @Body. 해결방법
해결방법은 간단합니다.
기존코드를 먼저 보겠습니다.
/** 메인게시물 좋아요 -1 */
@Headers("Content-Type: application/json")
@DELETE("api/like")
suspend fun setMainPostUnlike(
@Header("Authorization") token: String,
@Body body: PostLike
): Response<JsonObject>
위에서 아래처럼
@DELETE("api/like")을 아래처럼 변경합니다.
@HTTP(method = "DELETE", path="api/like", hasBody = true)
변경된 코드는 아래와 같습니다.
/** 메인게시물 좋아요 -1 */
@Headers("Content-Type: application/json")
// @DELETE("api/like")
@HTTP(method = "DELETE", path="api/like", hasBody = true)
suspend fun setMainPostUnlike(
@Header("Authorization") token: String,
@Body body: PostLike
): Response<JsonObject>
다음과 같이 수정한다면 정상적으로 동작하는 것을 볼 수 있습니다.
질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!
응원의 댓글은 저에게 큰 힘이 된답니다! :)
즐거운 하루되세요!
깃허브 보러 놀러오세요 👇 (맞팔환영)
https://github.com/younminchan