Maison  >  Article  >  développement back-end  >  Symfony2 框架序列化工具的使用(三)

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

WBOY
WBOYoriginal
2016-06-20 12:30:001115parcourir

上一篇文章我们提到了添加自定义的 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 

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn