Skip to content Skip to sidebar Skip to footer

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"