Маршрут API Laravel - 404

Я создаю 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 выглядит так:

Вывод маршрута php artisan: list

Подстановочные знаки, вызывающие конфликты, отсутствуют. Я пытался несколько раз очистить кеш маршрута, перезапустить сервер и т. Д. Я также попытался переместить сломанный маршрут в разные позиции в файле api.php, но безуспешно. Единственное, о чем я могу думать, это то, что я недавно обновил приложение с Laravel 6 до 8. Я прочитал руководства по обновлению для v7 и v8, и единственное, что я обнаружил, это то, что при запуске v7 требуются уникальные имена маршрутов, и я считаю, что это требование я выполнил. Я примерно тысячу раз проверял, что использую правильный URL. Копирование + вставка URL-адреса в браузер дает мне серьезную ошибку 405.


person Andrew De Forest    schedule 06.01.2021    source источник
comment
Можете ли вы показать этот метод контроллера   -  person lagbox    schedule 06.01.2021
comment
Это может быть из-за чего-то вроде findOrFail метода в вашем контроллере. Попробуйте dd при запуске вашего контроллера и попробуйте снова запросить с помощью Postman   -  person Parsa_Gholipour    schedule 06.01.2021
comment
@lagbox Добавлено в   -  person Andrew De Forest    schedule 06.01.2021
comment
@Parsa_Gholipour Интересно, только что добавлен в мой контроллер, который включает findOrFail   -  person Andrew De Forest    schedule 06.01.2021
comment
@Parsa_Gholipour Займитесь этим! Не могу поверить, что я это пропустил! Если вы ответите, я приму. Спасибо за совет! :)   -  person Andrew De Forest    schedule 06.01.2021


Ответы (1)


Это могло быть из-за чего-то вроде findOrFail метода в вашем контроллере. Попробуйте dd при запуске вашего контроллера и попробуйте снова запросить с помощью Postman.

person Parsa_Gholipour    schedule 06.01.2021
comment
Большое спасибо! Даже не подумал посмотреть на контроллер - person Andrew De Forest; 06.01.2021
comment
@AndrewDeForest Добро пожаловать - person Parsa_Gholipour; 06.01.2021