안녕하세요~ 챠니입니다! :)
이번에는 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 (response.code() == 409) {
//실패
var stringToJson = JSONObject(response.errorBody()?.string()!!)
Log.e("YMC", "stringToJson: ${stringToJson}")
var stringToJson2 = response.errorBody()?.string()!!
Log.e("YMC", "stringToJson2: ${stringToJson2}")
Log.e("YMC", "stringToJson msg: ${stringToJson.getString("message")}")
}
결과는 어떻게 나올까요? 다음과 같이 나오게 됩니다.
E/YMC: stringToJson: {"message":"Error: 존재하지 않는 사용자입니다."}
E/YMC: stringToJson2:
E/YMC: stringToJson msg: Error: 존재하지 않는 사용자입니다.
여기서 중요한 부분!
왜? "stringToJson2"의 값은 출력이 안되는 건가요? 라고 생각 할 수 있습니다.
위의 결과를 통해서 Retrofit에서 error message에 대한 접근은 1번만 가능하다는 것을 알 수 있습니다.
총 정리 / Retrofit error message 확인하는 방법(1번만 가능)
response.body().string()
질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!
응원의 댓글은 저에게 큰 힘이 된답니다! :)
즐거운 하루되세요!
깃허브 보러 놀러오세요 👇 (맞팔환영)
https://github.com/younminchan
'🖥 Programming > 📱 Android (Kotlin)' 카테고리의 다른 글
[Android][kotlin] ViewPager, ViewPager2에서 OverScrollMode 없애는법(OverScrollMode never) (0) | 2022.07.28 |
---|---|
[Android] TabLayout - Tab Indicator길이 text에 맞추기 (Tab Indicator) (0) | 2022.07.28 |
[Android][kotlin] Two Finger Touch막기 (동시터치 막기) (2) | 2022.07.26 |
[Android][kotlin][java] string.xml 문자열 가져오기 (0) | 2022.07.22 |
[Android] Android 기본 ".gitignore" 설정방법 (0) | 2022.07.21 |
[Android] AndroidStudio에서 KeyHash값 터미널에서 확인하기 (0) | 2022.07.21 |
[Android] Fragment Add시 뒤에 Fragment 클릭되는 문제 해결방법 (0) | 2022.07.21 |
[Android][kotlin] EditText Filter(필터) 적용, 한글만, 영어만, 특수문자 제한 등 예제 (0) | 2022.07.16 |