Laravel API Routes Возврат 404 - PullRequest
       3

Laravel API Routes Возврат 404

0 голосов
/ 03 июня 2018

Я использую 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 ответа и как их избежать?

1 Ответ

0 голосов
/ 03 июня 2018

Поскольку кажется, что у вас все хорошо, возможно, следуя более строгим соглашениям об определении маршрутов, вы не столкнетесь с проблемой?Попробуйте вот так:

Route::middleware(['auth:api'])->group(function () {
    Route::post('/account/plan', 'Account\BillingController@updatePlan');
    Route::put('/account/plan', 'Account\BillingController@unsubscribe');
    Route::patch('/account/plan', 'Account\BillingController@resubscribe');
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...