У меня есть бэкэнд, который я пытался отправить запрос на регистрацию пользователя с паролем «12345» с помощью okhttp, и это не удалось.

Мне потребовалось несколько часов, чтобы понять, что на самом деле серверная часть отклоняет полностью числовые пароли с кодом ответа 400.

Я узнал о проблеме, отправив тот же почтовый запрос на Python, и именно тогда я получил подробную информацию о проблеме в оболочке Python:

>>>request.content
b'{"password1":["This password is too short. It must contain at least 8 characters.","This password is too common.","This password is entirely numeric."]}'

Мне было интересно, как я могу получить подобное сообщение в студии Android из ответа запроса, который выглядит следующим образом:

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if (response.isSuccessful()) {
                    final String jsonResponse = response.body().string();
                    MainActivity.this.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            m_textView.setText("Successfull!");
                        }
                    });
                } else {

                }
            }

В режиме отладки этот ответ имеет много свойств, но я не вижу ни одного из них, указывающего на полезный контент, который выводит python,

Ценю любой совет,

Благодарность,

1
Nabat Farsi 12 Мар 2019 в 07:07

1 ответ

Лучший ответ

Похоже, что следующее возвращает то, что мне нужно:

response.body().string()
-1
Nabat Farsi 12 Мар 2019 в 05:39