我正在使用FOSRest Bundle來構建一個小API,其中我想返回一個資源但只公開一些屬性。 我正在使用Symfony的默認串行器。Symfony2,FOSRestBundle:序列化組返回空
這裏是我的實體:
class myEntity
{
private foo;
* @Groups({"myGroup"})
private bar;
getFoo(){...}
getBar{...}
}
而且我的控制器:
* @ParamConverter("myEntity ")
public function getAction(myEntity $myEntity)
{
$context = new Context();
$context->addGroups('myGroup');
$view = $this->view($myEntity, 200)->setTemplate("default/myEntity.html.twig")->setTemplateVar('myEntity');
$view->setContext($context);
return $this->handleView($view);
}
當我嘗試執行我的控制,我得到一個空對象作爲迴應:{}
如果我刪除setContext()
部分,我得到了整個實體,包括我不想要的屬性。
我在做什麼錯? 感謝
你構建的API?如果它是這樣的話,我會建議你這樣做: $ context = new SerializationContext(); $ context-> setGroups(「myGroup」); ($ result,'json',$ context);} $ json = $ this-> get(「serializer」) - > serialize($ result,'json',$ context); 返回新的JsonResponse($ json,200,[],true); – Vladislav