为什么我的网络路线去api路线? laravel 5.4

问题描述:

所以在我的刀锋的文件,我有这些代码来完成CRUD,为什么我的网络路线去api路线? laravel 5.4

<form method="POST" class="form-horizontal" action="{{ url('tickets/'.$ticket->id) }}" 
        enctype="multipart/form-data"> 
        {!! csrf_field() !!} 
        <input type="hidden" name="_method" value="PATCH" /> 

,所以我创造了我的API路线。代码如下。 (routes/api.php)

Route::group(['middleware' => ['api']], function() { 
    Route::resource('/v1/tickets','Api\TicketsController'); 
}); 

这些是我的路线。对于网络来说,它在routes.php中,因为我从包中获得了它。

Route::resource($main_route_path, 'App\Http\Controllers\TicketsController', [ 
      'names' => [ 
       'index' => $main_route.'.index', 
       'store' => $main_route.'.store', 
       'create' => $main_route.'.create', 
       'update' => $main_route.'.update', 
       'show' => $main_route.'.show', 
       'destroy' => $main_route.'.destroy', 
       'edit' => $main_route.'.edit', 
      ], 
      'parameters' => [ 
       $field_name => 'ticket', 
      ], 
     ]); 

现在的问题是,每一次我使用的形式要求单击按钮时,整个操作进入到了API,任何想法,为什么会出现这种情况?

默认情况下,api.php中的所有路由都使用前缀,中间件和命名空间进行分组。您不必像您一样再次添加api中间件。

对于网络路由,您可以使用TicketsController因为命名空间已经指向了Controllers文件夹。

您可以运行php artisan route:list并查看显示内容吗?

你也可以这样做来改变所有资源路由的名称前缀。

Route::resource($main_route_path, 'TicketsController', [ 
    'names' => $main_route, 
    'parameters' => [ 
     $field_name => 'ticket', 
    ], 
]);