Symfony GET/POST 方法中请求参数的最佳实践

Best practices for request parameters in GET/POST methods in Symfony

在 API URL 中请求多个参数并为此请求特定类型的最佳做法是什么。

例如我有url:http://host/my_api/?param_1=p1&param_2=p2

现在我在 parameters.yml 中有一个参数,说明我在 URL 中需要多少个参数,在方法中我检查参数是否具有我需要的特定类型。

但我不确定这是否是请求参数的最佳做法。对于我了解某个参数是否缺少特定错误消息的内容,这对我很有用。

有什么建议或意见吗? 谢谢!

*我使用 FOSRestBundle 创建一个 API URL.

如果你想坚持查询参数,你可以添加一个简单的 "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;

如果你想利用它