Rxjava Retrofit Parse Api Error For User
I'm using RxJava with retrofit in a library project. Everything is working fine, I get the expected result when I request data. @GET(Routes.ME) fun getUserObservable(): Observable&
Solution 1:
You will need instance of retrofit to map exception to error response. Here is an example:
class Error(
var reason: String = "",
var details: String = "",
var type: String = ""
)
api.getUser()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ user ->
println("Get user success : $user")
}, { throwable ->
if (throwable is HttpException) {
val converter: Converter<ResponseBody, Error> = retrofit.responseBodyConverter(Error::class.java, emptyArray())
val error = converter.convert(throwable.response().errorBody())
println("Get user error : ${error.reason}")
} else {
println("Get user error : $throwable")
}
})
Post a Comment for "Rxjava Retrofit Parse Api Error For User"