Retrofit 2.0 how to get deserialised error response.body

前端 未结 21 2228
庸人自扰
庸人自扰 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:04

    In https://stackoverflow.com/a/21103420/2914140 and https://futurestud.io/tutorials/retrofit-2-simple-error-handling this variant is shown for Retrofit 2.1.0.

    call.enqueue(new Callback() {
        @Override
        public void onResponse(Call call, Response response) {
            if (response.isSuccessful()) {
                ...
            } else {
                Converter converter
                        = MyApplication.getRetrofit().responseBodyConverter(
                        MyError.class, new Annotation[0]);
                MyError errorResponse = null;
                try {
                    errorResponse = converter.convert(response.errorBody());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    

提交回复
热议问题