概要
タイトルの通り。同じようなこと書いている記事は多いのだけど、
当たり前すぎるのかこのままのワードで検索すると中々ヒットしなくて無駄に時間がかかったので書いておく。
尚、ここで言うエラー時とは、ステータスが200番台以外で帰ってきた時のことを指す。
QiitaAPIでいうエラーレスポンスの「type」や「message」を取得したいという話。
やり方
responseの中にAPIからのレスポンスがあるとして。
sample.kt
var jsonObject = JSONObject(response.errorBody()?.string())
Log.d(jsonObject.getString("message"))
これで取れた。
Retrofitは成功時(200)のレスポンスは一つ一つ項目を指定する必要があったから、エラーも必要なのかと思って試行錯誤してたけど、errorBody()で取れるのね。