Я создаю простое веб-приложение REST API Laravel + Vue.
В компоненте Vue у меня есть метод с запросом API.
Я упростил это, чтобы увидеть суть проблемы:
phpValidate() {
axios
.post("api/validate", self.programmer)
.then(function(response) {
console.log(response.status);
});
}
В контроллере у меня есть метод validateIt()
, который обрабатывает этот "api/validate"
запрос.
Возвращает:
return array('status' => $status, 'data' => $data);
$status
может быть равно 200 или 422, в зависимости от входных данных.
Проблема в том, что с какого-то момента он начал возвращать $status
из 200 всегда.
Даже если я удаляю весь код из метода validateIt()
и просто оставляю две строки:
$status = 422;
return array('status' => $status);
Я все еще получаю 200.
Если я удаляю весь метод в контроллере, он выдает внутреннюю ошибку сервера 500.
Итак, маршрут и название функции верны.
Когда я кладу его обратно, я могу написать там все, что захочу, у него нет смысла - он все равно возвращает 200!
Если я использую отладчик, я вижу, что в конце метода validateIt()
он возвращает 422.
Но когда я получаю ответ в phpValidate()
, я снова вижу 200.
Невероятно!
Я пытался:
npm run dev
и
php artisan cache:clear
не помогает!
Также я пытался перезагрузить сервер и использовать разные браузеры, не помогает.