Я создаю простое веб-приложение 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
не помогает!
Также я пытался перезапустить сервер и использовать разные браузеры, не помогает.