7

我进行了一个 api 调用,它返回给我这个

响应{protocol=http/1.1, code=422, message=Unprocessable Entity, url= https://someapi/endpoint }

在日志中,连同响应,我得到以下信息:

{"message":"验证失败","errors":{"email":["已被占用"]}}

我正在开发一个具有配置文件创建功能的 Android 应用程序,我想将用户重定向回来,以便在收到此响应时它可以更改其电子邮件地址,但为此我需要获取并处理“错误”消息。

如何从错误正文中获取消息?我试过这样:

response.message()

但我只得到

无法处理的实体

4

1 回答 1

6

尝试如下

 .subscribe(res-> {
                      //success case

                    },
                    t -> {
                        if (t instanceof HttpException) {
                           if (((HttpException) t).code() == 422) {
                           String errorResponse=((HttpException) t).response().errorBody().string();
                         //your validations
                        }
                        } else {

                            t.printStackTrace();

                        }
                    });

我希望它会帮助你:-)

于 2018-02-19T11:19:35.260 回答