在我的Laravel应用程序中,我有一个简单的API端点。像这样:
Route::get('/products/get&organization_id={organization_id}&warehouse_id={warehouse_id?}&stock={stock}', 'ProductController@getProducts');
在我的控制器中,我有这种方法:
public function getProducts($organizationId = NULL, $warehouseId = 0, $stock)
在这里,我将为参数设置一些if
和一些isset
,但还有一个switch
。 (基本验证)
此处的所有内容都与存储库和合同相关联。
我的问题是我应该在哪里进行参数验证以及如何进行验证?哪个是最好的解决方案?
答案 0 :(得分:1)
验证是控制器上的扩展方法。
在getProducts(Request $request)
方法中,您可以执行以下操作:
$this->validate($request, [
'organizationId' => 'required|unique',
'warehouseId' => 'required',
'stock' => 'required',
]);
注意,在getProducts方法中,我们传入了Request $request
而不是单个参数。请求$ request从查询字符串中获取所有$ _POST和$ _GET变量和属性,可以通过请求获得。
祝你好运