Php FOSRestBundle-响应数据操作
我正在使用Php FOSRestBundle-响应数据操作,php,symfony,fosrestbundle,Php,Symfony,Fosrestbundle,我正在使用FOSRestBundle。我想返回用户信息,但数据信息较少。。。如何做到这一点?这是我目前的回应 { "id": 1, "user": { "id": 1, "username": "qqqq", "username_canonical": "qqqq", "email": "nie@mam.go", "email_canonical": "nie@mam.go", "en
FOSRestBundle
。我想返回用户信息,但数据信息较少。。。如何做到这一点?这是我目前的回应
{
"id": 1,
"user": {
"id": 1,
"username": "qqqq",
"username_canonical": "qqqq",
"email": "nie@mam.go",
"email_canonical": "nie@mam.go",
"enabled": true,
"salt": "9ds56htrvvokkckgscs0084so8ss40g",
"password": "ZcmowLmoNVLNfdMLakzp29G3TZKIfJWVWZ7sE3iylKin5dlYDIQfAJvDC6CFAS2PI4KcpJM0A8qPihDU6jH02A==",
"last_login": "2016-04-03T18:45:06+0200",
"locked": false,
"expired": false,
"roles": [],
"credentials_expired": false,
"created_at": "2016-04-03T18:45:06+0200",
"updated_at": "2016-04-03T18:45:06+0200"
},
"text": "asdadadasd",
"uv": 0,
"dv": 0,
"vote_count": 0,
"public_i_p": "",
"private_i_p": "",
"voters": [],
"created_at": "-0001-11-30T00:00:00+0124",
"updated_at": "-0001-11-30T00:00:00+0124"
}
我不想显示所有用户信息,只想显示用户名、锁定、过期
我的回答
public function getEntryAction(Entry $entry)
{
return View::create()
->setStatusCode(200)
->setData($entry);
}
我可以推荐
JMSSerializerBundle
。它无缝集成,您可以定义要序列化的属性
要完成第一个答案: 此捆绑包需要序列化程序才能正常工作。在大多数情况下,您需要启用或安装序列化程序。此捆绑包尝试以下操作(按给定顺序)以确定要使用的序列化程序:
- 您使用fos_rest.service.serializer配置的一个(如果已配置)
- JMS序列化程序,如果可用(并已注册)
- 如果已启用(或任何称为序列化程序的服务),则为
@riska建议很好,我从未尝试过内置序列化程序,但JMSSerializer会满足您的需要 请参见永久或动态公开/排除属性