Retrofit 2.0 how to get deserialised error response.body

前端 未结 21 2277
庸人自扰
庸人自扰 2020-11-28 02:46

I\'m using Retrofit 2.0.0-beta1.

In tests i have an alternate scenario and expect error HTTP 400

I would like to have retrofit.Respons

21条回答
  •  悲哀的现实
    2020-11-28 03:19

    In Kotlin:

    val call = APIClient.getInstance().signIn(AuthRequestWrapper(AuthRequest("1234567890z", "12341234", "nonce")))
    call.enqueue(object : Callback {
        override fun onResponse(call: Call, response: Response) {
            if (response.isSuccessful) {
    
            } else {
                val a = object : Annotation{}
                val errorConverter = RentalGeekClient.getRetrofitInstance().responseBodyConverter(AuthFailureResponse::class.java, arrayOf(a))
                val authFailureResponse = errorConverter.convert(response.errorBody())
            }
        }
    
        override fun onFailure(call: Call, t: Throwable) {
        }
    })
    

提交回复
热议问题