【发布时间】:2016-07-01 21:56:24
【问题描述】:
我对 JMSSerializerBundle 和我的 FOSUserbundle 覆盖实体有疑问。
我使用 JMSSerializerBundle 来序列化我的实体,并使用 FosRestBundle 来制作 API。我自己的实体没有问题,但是当我尝试序列化从 FosUserBundle 覆盖的用户实体时,它无法按我想要的方式工作。
我只想公开 FOSUserbundle 给出的用户实体的用户名,并显示我自己的实体的一些属性(被覆盖)。
当我将此配置设置到配置文件中时,YML 文件将被忽略。
jms_serializer:
metadata:
auto_detection: true
directories:
- { path: @bwbUserBundle/Resources/config/serializer, namespace_prefix: 'FOS\UserBundle' }
我也试过这个合成器:
jms_serializer:
metadata:
auto_detection: true
directories:
FOSUserBundle:
namespace_prefix: FOS\UserBundle
path: "@bwbUserBundle/Resources/config/serializer"
我的Model.User.yml 包含在@bwbUserBundle/Resources/config/serializer 目录中
FOS\UserBundle\Model\User:
exclusion_policy: ALL
# add your desired configuration below.
当我使用 FosRestBundle 返回用户对象时。它返回所有实体属性。
{
"id": 1,
"username": "******",
"username_canonical": "******",
"email": "******@******",
"email_canonical": "******@******",
"enabled": true,
"salt": "******",
"password": "******",
"last_login": "******",
"locked": false,
"expired": false,
"roles": [
"******",
"******",
"******",
"******",
"******",
"******",
"******"
],
"credentials_expired": false
}
感谢您的帮助。
我为我的英语道歉,我努力变得更好:)
【问题讨论】: