Маршруты Laravel PUT возвращают 404 - PullRequest
0 голосов
/ 08 мая 2019

пытаюсь обновить данные в базе но возвращает ошибку 404, не найденную в почтальоне

Route::put('/products/{id}','productController@update');

1 Ответ

0 голосов
/ 09 мая 2019

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

Я предполагаю, что вы написали маршрут в файле api.php, а не в файле web.php.

Если вы это сделаете, вы должны ввести маршрут как api/products/1.

Вам также необходимо знать о префиксе группы маршрутов, если вы его используете. Каждый маршрут внутри префикса группы будет перенесен и требует строки префикса в начале каждый раз, когда вы хотите получить к нему доступ.

Например:

в web.php файле:

Route::group(['prefix' => 'api'], function () {
    Route::put('products/{id}', 'productController@update');
});

# this will require you to access the url by tyiping "api/products/1".

и в файле api php (это более вероятно, что новые пользователи должны знать):

Route::group(['prefix' => 'api'], function () {
    Route::put('products/{id}', 'productController@update');
});

# this will require you to access the url by tyiping "api/api/products/1" since the api.php file will automatically wrap your routes within an api prefix.

и еще одна вещь, которую вам нужно знать: если вы используете в своей модели метод getRoutesKeyName, вы должны следовать по шаблону подстановки, чтобы использовать идентификаторы или, возможно, слаг в зависимости от того, что вы вводите внутри метода.

Например:

public function getRoutesKeyName(){
    return 'slug';
}
# this will require you to type "products/name-of-product" instead of "products/1"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...