0

サーバーが 401 HTTP 例外を返した場合でも、実際の応答本文を解析しようとしています。

protected inline fun <RESPONSE : ParentResponse> executeNetworkCall(
        crossinline request: () -> Single<RESPONSE>,
        crossinline successful: (t: RESPONSE) -> Unit,
        crossinline error: (t: RESPONSE) -> Unit) {

    request().subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(
                    { t: RESPONSE ->
                        errorHandler!!.checkApiResponseError(t)?.let {
                            listener?.onErrorWithId(t.message!!)
                            error(t)
                            return@subscribe
                        }
                        successful(t)
                    }
                    ,
                    { t: Throwable ->
                        listener?.onErrorWithId(t.message!!)
                    }
            )
}

これは私が書いたものです。通常の方法で両方が分離されている場合、応答とエラーを非常によく解析します。しかし、401 HTTP Exception が発生した場合でも、成功応答を解析したいと考えています。

前もって感謝します..

401 HTTP での応答は次のようになります。

401 Unauthorized - HTTP Exception 
{"Message":"Authentication unsuccessful","otherData":"//Some data"}

ところで、HTTPエラーコードを確認する必要があります..

if (statusCode==401){
 print("Authentication unsuccessful")
}
4

1 に答える 1