4

FOSUser モデルから拡張されたカスタム ユーザー クラスがあります。

use FOS\UserBundle\Model\User as BaseUser;
use JMS\Serializer\Annotation\ExclusionPolicy;
use JMS\Serializer\Annotation\Expose;

/**
 * @ExclusionPolicy("all")
 */
class User extends BaseUser

私の問題は次のとおりです。FOSUser モデルの抽象プロパティは公開されていますが、カスタム拡張クラスのプロパティは公開されていません。

プロパティを公開するために、2 つの yaml ファイルを作成しました。1) MyBundle/../Resources/config/serializer/fos/Model.User.yml 2) SecurityBundle/../Resource/config/serializer/Entity.User.yml

私のカスタム User クラスにはプロパティ $name があります。私の .yaml ファイルによって公開されるべきもの:

ErwineEberhard\SecurityBundle\Entity\User:
    exclusion_policy: none
    properties:
        name:
            expose: true
            groups: [list, details]

Doctrine$idでは、拡張クラスに a を追加する必要があります。は、カスタム User クラス$idを追加したときにのみ公開されます。* @ExclusionPolicy("all")@Expose を名前に追加すると、違いはありません。

これを達成する方法は?

4

0 に答える 0