Код: Выделить всё
Route::fallback(function() {
return view('layouts.app');
});
< /code>
, которые ранее выглядели так (но оба вариации приводят к одному и тому же нежелательному поведению): < /p>
Route::get('/{vue_capture?}', [VueController::class, 'getViewTemplate'])
->where('vue_capture', '^(?!docs\/api|docs\/api\.json)[\/\w\.-]*');
Route::post('lookup', [Api\V1\Controller::class, 'lookup']);
< /code>
Единственное, что делает маршрут, это: < /p>
return response()->json(['message' => 'not found'], 404);
< /code>
Но независимо от того, что я пытаюсь, я не могу помешать Ларавелу не дефолт на этот маршрут резерва. Если, однако, я возвращаю это: < /p>
return response()->json(['message' => 'not found'], 403);
< /code>
Это работает так же, как и ожидалось, поэтому он конкретно связан с 404 с. Я не могу, для жизни, выяснить, что мне нужно сделать, чтобы Laravel выводил простой ответ 404 JSON. Я получаю немного дальше, как это: < /p>
Route::fallback(function() {
if (Request::header('Accept') !== 'application/json') {
return view('layouts.app');
} else {
return response()->json(['message' => 'not_found'], 404);
}
});
< /code>
Но у него есть 2 проблемы: < /p>
Теперь он делает nginx 404, все еще нет json. < /li>
Это все еще заканчивается в резервном пути, в то время как это, по моему мнению, не должно достичь того, что это может быть еще один момент. Настройка в исключении, но просьба никогда не заканчивается, поэтому мне нечего зацепить.
Подробнее здесь: https://stackoverflow.com/questions/797 ... laravel-12