3

我的 Symfony2 API 使用 FOSRestBundle 和 JMSSerializer,带有属性注释,但很多时候我不想公开每个属性。我知道 JMS 有排除组,但我不知道如何将它们包含在我的 Symfony 控制器中。应该有一种在动态基础上使用 PHP 的方法,但文档中似乎也缺少这种方法。

4

2 回答 2

4

如果您使用View示例setSerializationContext中的类,则可以使用方法设置序列化上下文

public function getUsersAction()
{
    $data = // get data, in this case list of users.
    $view = $this->view($data, 200)
        ->setSerializationContext(SerializationContext::create()->setGroups(array('list')))
    ;

    return $this->handleView($view);
}
于 2013-08-01T15:18:35.430 回答
4

从 FOSRest 2.0 版本开始,您必须使用这个:

$view = $this->view($response, $code);
$view->setContext($view->getContext()->setGroups(['get_client']));
于 2016-07-25T13:12:46.167 回答