所以在我的刀片文件中我有这些代码做 CRUD,
<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,任何想法为什么会发生这种情况?
1 回答
默认情况下,api.php 中的所有路由都与前缀,中间件和命名空间分组。您不必像以前那样再次添加
api
中间件。对于 Web 路由,您可以使用TicketsController,因为命名空间已经指向 Controllers 文件夹。
你可以运行
php artisan route:list
并查看显示的内容吗?您也可以这样做来更改所有资源路由的名称前缀。