在API URL中请求许多参数并为其请求特定类型的最佳做法是什么。
例如,我有网址:http://host/my_api/?param_1=p1¶m_2=p2
现在我在parameters.yml中有一个参数,说明我需要在URL中使用多少参数,在方法中我检查参数是否具有我需要的特定类型。
但我不确定这是否是请求参数的最佳做法。对于我来说,知道参数是否缺少特定错误消息的内容是有用的。
有任何建议或意见吗? 谢谢!
*我使用FOSRestBundle创建API URL。
答案 0 :(得分:0)
如果你想坚持查询参数你可以添加一个简单的“checkFunction”,例如,如果你想要你的两个参数,你可以在你的控制器中像这样简单地做
/**
*@View
*/
public function apiAction(Request $request)
{
$this->checkRequiredParams($request);
...
}
private function checkRequiredParams($request){
$required = ["param_1","param_2"];
foreach ($required as $r) {
if(!$request->get($r)){
throw new AccessDeniedException("ACCESS DENIED - missing parameter $r ");
}
}
return true;
}
所以如果缺少参数会引发异常, 在此函数中,您还可以测试模式或类型检查值 别忘了
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
如果你想利用它