外部アプリケーションをサポートする API を構築しています。問題なくいくつかのルートを追加しましたが、突然、新しいルート ( ) を追加すると、POST リクエストでacars/delay
ヒットしようとすると 404 エラーが発生します。http://myurl.dev/api/acars/delay
これが私の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
出力は次のようになります。
競合を引き起こすワイルドカードはありません。ルートキャッシュを何度もクリアしたり、サーバーを再起動したりしました。また、壊れたルートをapi.php
ファイル内の別の位置に移動しようとしましたが、うまくいきませんでした。私が思いつく唯一のことは、最近アプリケーションを Laravel 6 から 8 にアップグレードしたということです。v7 と v8 のアップグレード ガイドを読んだところ、v7 を開始する際に一意のルート名が必要であることがわかりました。私は会ったと信じています。正しい URL を使用していることを約 1,000 回検証しました。URL をコピーしてブラウザーに貼り付けると、予想さ405
れるエラーが発生します。