私はリソースを返すが、いくつかのプロパティを公開するだけの小さなAPIを構築するためにFOSRest Bundleを使用しています。 私は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を構築している:あなたはこのように、あなたはシリアル化の設定をすべてを先送りにするディレクトリを指定する必要があなたのconfig.ymlファイルでJMSシリアライザの構成では
?このような場合は、これを行うことをお勧めします: $ context = new SerializationContext(); $ context-> setGroups( "myGroup");$ json = $ this-> get( "シリアライザ") - > serialize($ result、 'json'、$ context); return新しいJsonResponse($ json、200、[]、true); – Vladislav