此路由不支持 GET 方法。支持的方法:POST。 laravel-8

The GET method is not supported for this route. Supported methods: POST. laravel-8

我创建了类型为 (POST) 的路由,当直接访问它时,出现了这个错误:

此路由不支持 GET 方法。支持的方法:POST.

如果有人从 URL 访问它而没有按表单提交或类似操作,如何处理收到此错误。

路线:

Route::group(['middleware'=>'guest:web'], function(){
Route::post('/post-login', [LoginController::class,'postLogin'])->name('site.postLogin');
Route::post('/register-create', [registerController::class,'create'])->name('site.register.create');
});

如果有人直接访问了这些路由(输入POST),它会将他重定向到上面的错误

在这种情况下如何处理 laravel 中的 POST 路由?

如果你想通过 GET POST 获得路由,你可以使用 match():

Route::group(['middleware'=>'guest:web'], function(){
   Route::match(['get', 'post'], '/post-login', [LoginController::class,'postLogin'])->name('site.postLogin');
   Route::match(['get', 'post'], '/register-create', [registerController::class,'create'])->name('site.register.create');
});

更多关于Available Router Methods