2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Retrofit2でエラー時のResponseを取得する(Kotlin)

Posted at

概要

タイトルの通り。同じようなこと書いている記事は多いのだけど、
当たり前すぎるのかこのままのワードで検索すると中々ヒットしなくて無駄に時間がかかったので書いておく。
尚、ここで言うエラー時とは、ステータスが200番台以外で帰ってきた時のことを指す。
QiitaAPIでいうエラーレスポンスの「type」や「message」を取得したいという話。

やり方

responseの中にAPIからのレスポンスがあるとして。

sample.kt
var jsonObject = JSONObject(response.errorBody()?.string())
Log.d(jsonObject.getString("message"))

これで取れた。
Retrofitは成功時(200)のレスポンスは一つ一つ項目を指定する必要があったから、エラーも必要なのかと思って試行錯誤してたけど、errorBody()で取れるのね。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?