Обработка ошибок AXIOS post Vue3+Laravel
Отправляется post запрос в laravel если искомая техника не найдена выдаётся ошибка 500 и возвращается текст ошибки. Но во vue почему то ошибка не срабатывает и заходит в then.
Запрос:
async postAnalogByGarageNumber() {
try {
this.loaded = false
this.showSpinner = true
this.searchedPart = []
this.repairListsData = []
const request = await axios.post('api/analogGarageNumber', {
materials: this.newInputs.materials,
garageNumber: this.newInputs.garageNumber,
})
console.log(request)
this.partsData = request.data
this.loaded = true;
} catch (error) {
if (error.response && error.response.status === 500) {
// Здесь обрабатываем ошибку 500
console.log('Ошибка 500:', error.response.data);
} else {
// Обработка других ошибок
console.log('Ошибка:', error.message);
}
}
}
API:
Route::post("/analogGarageNumber", [AnaloguesController::class, "getAnalogByGarageNumber"]);
Контроллер:
public function getAnalogByGarageNumber(Request $request)
{
try {
return response()->json($this->analogService->getAnalogByGarageNumber($request->garageNumber ?? "", $request->materials ?? ""), 200);
} catch (TestException $exception) {
return response()->json(
[
'message' => $exception->getMessage()
], 500);
}
}
Источник: Stack Overflow на русском