Android Studio(java) Retrofit을 이용한 API 요청시 DELETE에 Body 사용하기

반응형

Error

  • DELETE Non-body HTTP method cannot contain @Body.

Retrofit에서 아래와 같이 DELETE에 Body를 넣으면 에러가 출력 된다.

@DELETE("/follow")
Call<UserRes> unfollow(@Header("Authorization") String token, @Body User user);

 

보통은 Query로 처리해야하지만 Body로 설계된 API를 사용 할 때에는 아래와 같이 코드를 수정하면 된다.

@HTTP(method = "DELETE", path = "/follow", hasBody = true)
Call<UserRes> unfollow(@Header("Authorization") String token, @Body User user);

요약

// 선언시 @DELETE("경로")로 된 것을 아래에 양식에 맞게 수정한다.
@HTTP(method = "DELETE", path = "경로", hasBody = true)

 

반응형