Я использую Laravel 5.6 и получаю ответы HTTP404 по существующим маршрутам в маршрутах / api.php, которые я определяю следующим образом:
Route::middleware('auth:api')->post('/account/plan', 'Account\BillingController@updatePlan');
Route::middleware('auth:api')->put('/account/plan', 'Account\BillingController@unsubscribe');
Route::middleware('auth:api')->patch('/account/plan', 'Account\BillingController@resubscribe');
Когда я использую axios.post () на этих маршрутахи включить параметр _method, я получаю ответ 404 на маршрутах PUT и PATCH.Я также протестировал axios.put () / axios.patch () вместо использования post () с включением параметра _method и без него.Я также подтвердил, что они правильно представлены кустарным маршрутом: список:
| | POST | api/account/plan | | App\Http\Controllers\Account\BillingController@updatePlan | api,auth:api |
| | PUT | api/account/plan | | App\Http\Controllers\Account\BillingController@unsubscribe | api,auth:api |
| | PATCH | api/account/plan | | App\Http\Controllers\Account\BillingController@resubscribe | api,auth:api |
Пример вызова Axios:
axios.post(url,{_method:"PUT",confirm:"unsubscribe"})
.then(response => callback(response.data))
.catch(error => console.log(error))
Когда я определяю эти же маршруты следующим образом, все они работаюткак и предполагалось:
Route::middleware('auth:api')->post('/account/plan', 'Account\BillingController@updatePlan');
Route::middleware('auth:api')->post('/account/unsubscribe', 'Account\BillingController@unsubscribe');
Route::middleware('auth:api')->post('/account/resubscribe', 'Account\BillingController@resubscribe');
Я могу разделить конечные точки методом запроса на других маршрутах. Я не уверен, почему они создают проблему.Может кто-нибудь объяснить, почему я получаю 404 ответа и как их избежать?