微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel API 路由 - 404

如何解决Laravel API 路由 - 404

我正在构建一个 API 来支持外部应用程序。我添加了几条路由没有问题,但突然间,当我添加新路由 (acars/delay) 时,尝试使用 POST 请求点击 http://myurl.dev/api/acars/delay 时出现 404 错误。这是我的 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 每次都在 Postman 中返回 404。我的 PHP artisan route:list 输出如下所示:

Output of php artisan route:list

没有通配符导致冲突。我尝试多次清除我的路由缓存、重新启动服务器等。我也尝试将损坏的路由移动到 api.PHP 文件中的不同位置,但没有成功。我唯一能想到的就是我最近将应用程序从 Laravel 6 升级到了 8。我阅读了 v7 和 v8 的升级指南,唯一发现的是在启动 v7 时,unique route names are required一个要求我相信我见过。我已经验证了大约一千次我使用的是正确的 URL。将 URL 复制+粘贴到浏览器中会给我排除 405 错误

解决方法

这可能是因为您的控制器中的 findOrFail 方法之类的东西。尝试在控制器启动时 dd 并再次尝试向 Postman 请求。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。