当前位置:Gxlcms > PHP教程 > Symfony2框架序列化工具的使用(三)

Symfony2框架序列化工具的使用(三)

时间:2021-07-01 10:21:17 帮助过:22人阅读

上一篇文章我们提到了添加自定义的 Normalizer。这一篇将更加深入讨论自定义 Normalizer 的使用。

目前为止,我们所做的 Normalizer 只能老老实实按照我们的 Model 的结构序列化,我们最多只能通过 Serialize Group 的功能控制一下某些属性的隐显。但我们的接口可能需要提供 Model 结构外更多的信息,一个最常见的例子,提供 HATEOAS风格的接口的时候,你需要提供相关对象所对应的接口的地址,而这个地址往往是 Model 不会提供的(Model 层也不应该提供),举个例子,如果我们有一个 User 类,它具有 Groups 属性,正常序列化后的结果可能是这样:

// http://api.example.com/user/1 {    "id": 1,    "name": "chris",    "groups: [        {            "id": 1,            "name": "PHP"        }    ]}

而 HATEOAS 过的结果,需要添加每一个 group 的 uri 信息:

// http://api.example.com/user/1 {    "id": 1,    "uri": "http://api.example.com/user/1"    "name": "chris",    "groups: [        {            "id": 1,            "uri 

人气教程排行