gpt4 book ai didi

design-patterns - 在 Controller 或服务层反序列化?

转载 作者:行者123 更新时间:2023-12-05 02:23:56 24 4
gpt4 key购买 nike

我正在使用 Symfony2 开发 REST API,它接收 JSON 格式的数据。

JSON转对象的正确位置在哪里:

  • Controller 将 JSON 转换为对象并调用服务方法传递一个 PHP 对象,该对象也返回一个对象?
  • Controller 将 JSON 传递给服务方法,它将 JSON 转换为对象,并在返回之前将结果对象转换为 JSON?

最佳答案

它绝对不属于服务层,因为它应该在模型对象方面工作。您可以在一个应用程序中拥有许多不同的 UI——HTML、REST、命令行——它们都将使用不同的格式进行数据交换。让服务层负责处理所有这些格式没有意义。

每种类型的 UI 都有自己的 Controller 层 - 或者在命令行 UI 的情况下是命令 - 这些 Controller 负责在将数据传递到服务层和返回之前将数据与模型对象进行相互转换。

具体如何操作——直接在 Controller 操作中,或委托(delegate)给其他服务,或使用 AOP——由你选择。只需将其置于服务层(即领域层)之外。

关于design-patterns - 在 Controller 或服务层反序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com