У меня есть следующий API входа в систему.
public function login() {
if (Auth::attempt(['email' => request('email'), 'password' => request('password')])) {
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')->accessToken;
$agency = new AgencyResource(Agency::find($user->agency_id));
$success['agency'] = $agency;
return response()->json(['responseCode' => '101', 'responseMessage' => 'Login successful', 'data' => $success], $this->successStatus);
} else {
return response()->json(['responseCode' => '102', 'responseMessage' => 'Invalid username or password', 'data' => null], 401);
}
}
Каждый раз, когда я проверяю почтальона с неправильными учетными данными, я получаю следующий ответ.
{
"responseCode": "102",
"responseMessage": "Invalid username or password",
"data": null
}
Что правильно. Но тот же API дает следующий ответ на устройстве Android не в формате json.
Result in Failure:
[Failure: Exception : HTTP Exception 401 Unauthorized]
Вопрос: Мне нужен ответ, как от почтальона. Пожалуйста помоги
Я использую laravel 5.5
На самом деле я не понимаю проблемы, ответ в Android кажется нормальным, не так ли ?? У вас есть код состояния 401, а также остальное содержимое в Body ...: /
О, ты имеешь в виду, что это не разбирается таким же образом? Я думаю, вам нужно вручную получить нужную информацию из ответа Android-устройства.
Извините. пожалуйста, проверьте мой обновленный вопрос.
Вы смотрели, есть ли у объекта исключения тело / сообщение? Это поле должно содержать желаемый объект json !?
@FMK, как добавить это исключение в ответ? Я все еще изучаю ларавел
Исключение в вашем коде Android должно содержать необходимые данные! Ваш бэкэнд возвращает все необходимые данные!
Значит в бэкенде мне ничего добавлять не надо, да?






Это одинаковые ответы? Второй содержит только заголовки ответов ?!