Код: Выделить всё
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
PHP 8.2.24
Laravel 11.19.0
The PUT method is not supported for route /. Supported methods: GET, HEAD.
Маршруты также зарегистрированы правильно, как показано ниже:
Код: Выделить всё
GET|HEAD api/v2/categories ........................... categories.index › Api\CategoryController@index
POST api/v2/categories ........................... categories.store › Api\CategoryController@store
GET|HEAD api/v2/categories/{category} .................. categories.show › Api\CategoryController@show
PUT|PATCH api/v2/categories/{category} .............. categories.update › Api\CategoryController@update
DELETE api/v2/categories/{category} ............ categories.destroy › Api\CategoryController@destroy
GET|HEAD dashboard/categories ............... dashboard.categories › App\Livewire\Dashboard\Categories
GET|HEAD dashboard/categories/{category}/edit .. categories.edit › App\Livewire\Dashboard\EditCategory
Код: Выделить всё
Route::middleware([ApiTokenMiddleware::class])
->prefix('v2')
->group(function () {
Route::put('/categories/{category}', [CategoryController::class, 'update']);
});
- Конфигурация сервера: я проверил и подтвердил Конфигурация сервера
(Apache/Nginx) поддерживает методы PUT и DELETE. - Маршруты Laravel: маршруты правильно зарегистрированы в выходных данных
php artisan Route:list. - Метод запроса: я проверил, что запросы правильно достигают
сервера с ожидаемыми методами (PUT, PATCH, DELETE).
# UPDATE 1
Ребята, это это какая-то аномалия! Я уже настроил nginx, изменил настройки Apache и проверил настройки .htaccess. Ничего не помогло. Я решил пойти методом проб и ошибок и в конце концов понял, что запросы PUT проходят нормально. Но вот что мне до сих пор непонятно, так это то, почему их перенаправляют — я пока не разобрался. Проблема точно не в сервере, проверял неоднократно. Проблема в моем блоке кода. Запросы проходят через промежуточное программное обеспечение нормально, но затем происходит что-то странное. Напомним, что у Laravel есть собственное промежуточное программное обеспечение, которое со всем этим справляется.
Итак, я вслепую написал:
Код: Выделить всё
Route::put('api/v2/categories/{id}', function($id) {
echo 'He-He!' . $id;
});
Подробнее здесь: https://stackoverflow.com/questions/793 ... ed-but-get