Как вы называете этот маршрут, когда получаете исключение MethodNotAllowedHttpException?
Этот запрос на публикацию должен вызываться той формой, которую вы создаете.И, как правило, не должен возвращать фактическую форму, но сохранять данные и затем перенаправлять пользователя на страницу, чтобы показать результат.
Так что в общем случае вы получите get и сообщение:
Route::get('/o1', function(){
echo '<form method="post" action="/o2"><input name="_token" value="' . csrf_token() . '" type="hidden"><button type="submit" value="Submit">Submit</button></form>';
});
Route::post('/o1', function(){
// persist your form here
});
Я настоятельно рекомендую использовать контроллер для этого.https://laravel.com/docs/5.6/controllers