2017-09-22 12 views

उत्तर

3

मुझे अंत में एक जवाब मिला! अगर किसी को एनोटेशन के साथ बेहतर और छोटा रास्ता मिलता है तो मैं उपहार प्रदान कर सकता हूं (क्योंकि मैं इसे वापस नहीं प्राप्त कर सकता)।

नेस्टेड गुणों के समूहों को ओवरराइड करने का एकमात्र तरीका धारावाहिक संदर्भ दृश्य से प्राप्त करना है और वहां से समूह सेट करना है। संदेश यह है:

/** 
* @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); 
} 

इस तरह मेरी profileAction सभी user_detail और user_profile समूहों के साथ एक उपयोगकर्ता है, लेकिन friends संपत्ति है, जो उपयोगकर्ता की एक सरणी में शामिल है में आइटम वापस आ जाएगी, बस गुण में परिभाषित में शामिल होंगे Default समूह।

{ 
    "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 
     } 
    ] 
} 

अभिवादन:

यह परिणाम है।

संबंधित मुद्दे