首页 > 解决方案 > 在 Laravel 8 中找不到 404

问题描述

我对路由中的可选参数有疑问。当我去时,以下路线有效: http://localhost/orders/create/1但它不适用于http://localhost/orders/create并返回404 error (not found)

    Route::name( 'orders.' )->prefix( 'orders' )->group( function(){

        Route::get( '/create/{client?}', [ \App\Http\Controllers\OrderController::class, 'create' ] )->name( 'create' );

    } );

    public function create( Client $client = null ){

        return [ $client ];

    }

我已经检查过 ID=1 的客户端存在。有任何想法吗?

标签: routesoptional-parameterslaravel-8

解决方案


那是因为您正在定义路由 /create/{client?} 但 /create 未定义,可能您的脚本与 /create/ 一起使用,因为客户端参数是可选的。

尾部斜线是问题所在。


推荐阅读