上一篇文章我们提到了添加自定义的 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
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号