Symfony Serializer: выберите группу и добавьте дополнительные атрибуты - PullRequest
0 голосов
/ 06 октября 2019

С Symfony Сериализатором я могу выбрать группу с помощью:

[
    'groups' => 'api_index',
]

Я могу выбрать атрибуты с помощью:

[
    'attributes' => [...],
]

Я могу игнорировать атрибуты с помощью:

[
    'ignored_attributes' => [...],
]

Но я хочу выбрать группу и добавить дополнительные атрибуты .

Вы можете мне помочь?

1 Ответ

0 голосов
/ 07 октября 2019

Чтобы добавить дополнительные атрибуты, вам нужно использовать @VirtualProperty.

use JMS\Serializer\Annotation\VirtualProperty;
use JMS\Serializer\Annotation\SerializedName;

class Entity
{
     private $field;

     /**
      * @VirtualProperty
      * @SerializedName("extra_field")
      */
     public function getextraField()
     {
         // do some logic
         // return "foo";

     }
}

, ваши данные JSON выглядят примерно так:

{
 ...,
"extra_field":"foo"
}

О @VirtualProperty

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...