Laravel API 路线 - 404
Laravel API Route - 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
returns Postman 每次都是 404。我的 php artisan route:list
输出如下所示:
没有导致冲突的通配符。我尝试多次清除我的路由缓存,重新启动服务器等。我也尝试将损坏的路由移动到 api.php
文件中的不同位置,但没有成功。我唯一能想到的是我最近将应用程序从 Laravel 6 升级到 8。我阅读了 v7 和 v8 的升级指南,我唯一发现的是在启动 v7 时,unique route names are required ,我相信我已经满足了一个要求。我已经验证了大约一千次我使用的是正确的URL。将 URL 复制+粘贴到浏览器中会给我扩展的 405
错误。
这可能是因为您的控制器中有类似 findOrFail
的方法。尝试 dd
在您的控制器启动时再次尝试使用 Postman 请求。
我正在构建一个 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
returns Postman 每次都是 404。我的 php artisan route:list
输出如下所示:
没有导致冲突的通配符。我尝试多次清除我的路由缓存,重新启动服务器等。我也尝试将损坏的路由移动到 api.php
文件中的不同位置,但没有成功。我唯一能想到的是我最近将应用程序从 Laravel 6 升级到 8。我阅读了 v7 和 v8 的升级指南,我唯一发现的是在启动 v7 时,unique route names are required ,我相信我已经满足了一个要求。我已经验证了大约一千次我使用的是正确的URL。将 URL 复制+粘贴到浏览器中会给我扩展的 405
错误。
这可能是因为您的控制器中有类似 findOrFail
的方法。尝试 dd
在您的控制器启动时再次尝试使用 Postman 请求。