I çocuk özelliklerinin grupları geçersiz kılma hakkında this article okumak bu açıklamaları kullanarak çocuk özellikleriJMS Serializer geçersiz kılma Gruplar FOSRestBundle
Teşekkürler.
I çocuk özelliklerinin grupları geçersiz kılma hakkında this article okumak bu açıklamaları kullanarak çocuk özellikleriJMS Serializer geçersiz kılma Gruplar FOSRestBundle
Teşekkürler.
Sonunda bir cevap buldum! Birisi ek açıklamaları ile daha iyi ve daha kısa bir yol bulursa ben ödül (ben geri alamıyorum çünkü) verebilirsiniz.
Yuvalanmış özellik gruplarını geçersiz kılmanın tek yolu, görünümden seri hale getirici bağlamı almak ve grupları buradan ayarlamaktır. İşte burada:
/**
* @Rest\Get("/api/users/profile", name="api_get_profile")
*/
public function profileAction(Request $request)
{
$user = $this->getUser();
// sets different groups for nested properties
$view = $this->view($user);
$view->getContext()->setGroups(array(
'Default',
'user_detail',
'user_profile',
'friends' => array(
'Default',
)
));
return $this->handleView($view);
}
Bu şekilde benim profileAction
sadece tarif edilen özellikleri içerecektir tüm user_detail
ve user_profile
gruplarla bir kullanıcıyı, ancak kullanıcı bir dizi içerir friends
mülkiyet, öğeleri dönecektir Default
grubu.
{
"id": 532,
"username": "someuser",
"email": "[email protected]",
"enabled": true,
"last_login": "2017-11-10T09:45:51+01:00",
"notification_id": "ABC",
"avatar_id": 3,
"friends": [
{
"id": 530,
"username": "anotheruser",
"avatar_id": 5
},
{
"id": 554,
"username": "johndoe",
"avatar_id": 7
}
]
}
Selamlar:
Bu
sonucudur.