본문 바로가기

Retrofit24

[Android][kotlin] Non-body HTTP method cannot contain @Body. 오류해결방법 (retrofit2 안녕하세요~ 챠니입니다! :) 오늘은 개발중에 나타나는 오류에 대해서 알아보겠습니다. 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.. 2022. 8. 11.
[Android][kotlin] Retrofit error message 확인하는 방법 안녕하세요~ 챠니입니다! :) 이번에는 Retrofit 통신에서 실패했을때 에러 메세지를 확인하는 방법에 대해서 알아보겠습니다 :) Retrofit error message 확인하는 방법 보통 Retrofit통신부분을 구성하다보면 아래와 같은 형식으로 통신결과값을 확인하게 됩니다. if (response.isSuccessful) { Log.e("YMC", "response: ${response.body()}") } B.U.T 하지만! 통신 실패같은 경우는 메세지를 확인하는 방법이 조금 다릅니다! 아래와 같은 경우가 있다고 생각해 보겠습니다. if (response.isSuccessful) { //성공 Log.e("YMC", "response: ${response.body()}") } else if (re.. 2022. 7. 22.
[Android][kotlin] No type arguments expected for class Call 에러 Retrofit2 사용 시 "No type arguments expected for class Call" 라는 에러가 발생 하는 경우가 있다. *해결방법: 올바른 패키지를 import 했는 지 확인하여 변경하자! ex) retrofit2.Call(O) android.telecom.Call (X) 2021. 10. 21.
[kotlin][Android] retrofit2 (레트로핏) 사용방법 Retrofit2 - REST API 통신 라이브러리? API 통신을 위해 구현된 OkHTTP의 HTTP 통신을 간편하게 만들어주는 라이브러리를 뜻함 Async Task가 없이 Background 쓰레드를 실행 -> CallBack을 통하여 Main Thread에서 UI를 업데이트 동일 Squareup사의 OkHttp 라이브러리의 상위 구현체 Retrofit2의 장점 3가지 -Retrofit2의 장점은 3가지로 볼 수 있음 -> (속도, 편의성, 가독성) OkHTTP 사용 시에 AsyncTask를 통해 비동기로 실행하여 속도가 느린이슈. 하지만 Retrofit2에서는 자체적 비동기 실행과 스레드 관리가 가능하여 속도를 빠르다는 장점! (AsyncTask의 3~10배 성능 차이가 난다고 함) 함수 호출 시.. 2021. 10. 20.