【发布时间】:2021-09-06 08:10:14
【问题描述】:
使用以下路由声明,我试图将参数传递给控制器方法,但我不确定如何执行此操作。我不想要一个路由参数,而是一个硬编码参数,这样我就可以使用相同的函数来更新当前用户和其他用户,使用参数来区分这两个操作。
Route::patch('/v1/user', [UserController::class, 'update']);
我需要将此 Route 语句中的布尔值传递给更新方法,有什么想法吗?
【问题讨论】:
-
您如何访问您的 API?意思是你的前端语言是什么?您可以在请求中附加变量,您可以在 Laravel 控制器中读取这些变量。
-
是的,我可以这样做,但我希望有单独的路线。 /api/v1/user 更新当前用户和 /api/v1/user/{id} 更新特定用户ID,但我想使用相同的控制器方法来实现这一点,用一个变量来通知控制器方法哪个路由正在调用该方法。
-
那么你想要一个可选的查询参数:
Route::patch('/v1/user/{id?}', ...);id可以包含或排除,你可以在Controller方法中挂钩并采取相应的行动。 -
谢谢@TimLewis,正是我所追求的。
标签: laravel