본문 바로가기
🖥 Programming/📱 Android (Kotlin)

[Android][kotlin] Non-body HTTP method cannot contain @Body. 오류해결방법 (retrofit2

by MinChan-Youn 2022. 8. 11.

안녕하세요~ 챠니입니다! :)

오늘은 개발중에 나타나는 오류에 대해서 알아보겠습니다.

 

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

 

younminchan - Overview

안드로이드 2년차 개발자 •⚽️/🎤/🥁/🖥/🏃‍♂️/🚴‍♂️/🤟 TechBlog⬇️ minchanyoun.tistory.com - younminchan

github.com