作为学习练习,我正在 Laravel 7.1 中创建一个 REST API。我无法弄清楚如何解析路由方法中的查询字符串参数。我已阅读此处的文档,它显示了如何将参数添加到路径中:
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
Run Code Online (Sandbox Code Playgroud)
但是我不知道在哪里可以从请求 URL 获取查询参数。在我的玩具代码中,我想添加一条路线以将新车添加到库存中:
Route::post('/inventory/add/{make}/{model}/{year}', function ($make, $model, $year) {
return \App\Inventory::create($model, $color, $trim, $accessories);
});
Run Code Online (Sandbox Code Playgroud)
我想通过查询字符串指定颜色、装饰和配件等参数,如下所示:
http://example.com/inventory/add/ford/focus/2020?color=red&trim=sport&accessories=chrome-wheels
Run Code Online (Sandbox Code Playgroud)
如何从方法中获取查询参数Route::post?
编辑我认为这种架构可能不是添加这些额外信息的最佳方式,但由于我正在尝试学习 laravel,所以我使用它作为示例。我对学习如何获取查询参数更感兴趣,而不是如何改进这个学习示例的架构。
Route::post不需要在路由中设置参数。只需使用:
Route::post("your-route", "YourControllerController@doSomeThing");
Run Code Online (Sandbox Code Playgroud)
所以,在app/Http/Controllers/YourControllerController.php文件中:
class YourControllerController extends Controller {
public function doSomeThing(Request $request)
{
echo $request->input('param1');
echo $request->input('param2');
echo $request->input('param3');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3896 次 |
| 最近记录: |