Я создаю API для поддержки внешнего приложения. Я без проблем добавил к нему несколько маршрутов, но внезапно, когда я добавляю новый маршрут (acars/delay
), я получаю ошибку 404 при попытке попасть http://myurl.dev/api/acars/delay
с запросом POST. Вот мой api.php
файл:
Route::post('acars/deactivate', 'API\AcarsController@deactivate');
Route::post('acars/ofp', 'API\AcarsController@ofp');
Route::post('acars/create', 'API\AcarsController@create');
Route::post('acars/pirep', 'API\AcarsController@pirep');
Route::post('acars/mx', 'API\AcarsController@mx');
Route::post('acars/delay', 'API\AcarsController@delay'); // <-- THIS IS THE BROKEN ROUTE
Метод контроллера:
public function delay(Request $request) {
$acars = AcarsFlight::findOrFail($request->acars_flight_id);
$delay = AcarsDelay::create([
...
]);
return $delay;
}
Остальные маршруты работают нормально, но acars/delay
каждый раз возвращает 404 в Postman. Мой результат php artisan route:list
выглядит так:
Подстановочные знаки, вызывающие конфликты, отсутствуют. Я пытался несколько раз очистить кеш маршрута, перезапустить сервер и т. Д. Я также попытался переместить сломанный маршрут в разные позиции в файле api.php
, но безуспешно. Единственное, о чем я могу думать, это то, что я недавно обновил приложение с Laravel 6 до 8. Я прочитал руководства по обновлению для v7 и v8, и единственное, что я обнаружил, это то, что при запуске v7 требуются уникальные имена маршрутов, и я считаю, что это требование я выполнил. Я примерно тысячу раз проверял, что использую правильный URL. Копирование + вставка URL-адреса в браузер дает мне серьезную ошибку 405
.
findOrFail
метода в вашем контроллере. Попробуйтеdd
при запуске вашего контроллера и попробуйте снова запросить с помощью Postman - person Parsa_Gholipour   schedule 06.01.2021findOrFail
- person Andrew De Forest   schedule 06.01.2021