当前位置: 首页 > 知识库问答 >
问题:

MVC中DTO转换应该在哪里进行?

贲绪
2023-03-14

MVC中DTO转换应该在哪里进行?

我正在使用JPA。从控制器接收DTO作为参数。

此时,是否需要在控制器中转换它并将其传递给服务?

或者,我想知道服务是否接收DTO并转换它。

共有1个答案

薛朝
2023-03-14

我在服务层中使用 DTO。因为服务必须包含业务逻辑 。控制器只是处理数据和向用户显示结果之间的中间件,因此将DTO映射到服务中的实体似乎是合理的

 类似资料:
  • 我有一个SpringREST接口,控制器正在进行从DTO到业务实体对象的转换。服务层对业务实体对象进行操作。然而,如果我的业务层想要调用外部REST接口,那么该业务实体到DTO的转换应该在哪里发生?在业务层?使用RestTemplate进行调用的DAO对象?另一层?当前调用顺序如下所示: 谢谢!:)

  • 问题内容: 实体在返回控制器之前应该转换为Dto吗? 问题答案: 有一千种方法来做某事,并且对什么是最好的方法也有很多看法。但是没有最好的方法,一切都有优点和缺点。请记住这一点! 通常,你具有不同的层: 持久层存储数据 业务层来处理数据 表示层公开数据 通常,每个层都将使用其自己的对象类型: 持久层:存储库,实体 业务层:服务,域对象 表示层:控制器,DTO 这意味着每一层只能使用其自己的对象,而

  • 我正在开发Spring Boot(MVC、DATA、JPA…)角度项目。 我在两种选择之间左右为难。尽管如此,它们都能正常工作。 从架构的角度来看,哪一个是最好的,哪一个使用最多。 我的问题是,从实体到DTO的最佳转换方式是什么。 选项1:我现在正在实施的那个。 我将转换放在控制器中。在我的控制器中,我调用一个服务方法来获取实体列表。然后,我使用ModelMapper将实体列表转换为DTO列表,并

  • 我搜索了很多,几乎所有我发现的例子都使用了控制器中的异常处理和自己的异常处理程序。我一直认为这应该在程序的服务层上完成。如果不是,我真的不明白为什么要创建单独的服务层。 另外,如果我在Controller中实现异常处理,是否意味着我必须在前面的所有层中抛出异常?

  • 问题内容: 我对应该在哪里放置我的虚拟环境感到困惑。 在我的第一个django项目中,我使用以下命令创建了该项目 然后我进入djangoproject目录并运行命令 在与内部目录相同级别上创建了虚拟环境目录。 这是为特定项目创建virtualenv的错误位置吗? 我给人的印象是,大多数人将所有virtualenvs放在一个完全不同的目录中,例如,然后使用virtualenvwrapper在它们之间

  • 我已经将ViewPager和number of Fragment实现为子级,这里每个子级都覆盖自己的。 在我的应用程序中,导航行为是随机的,不是每次都有顺序。因为页面查看器执行缓存来加载额外的子级,这就是我的问题所在。我不确定何时应该初始化/释放子类成员。 需要你们的建议,在这种情况下使用PageViwer是否更好,或者我应该为每个组件使用传统的活动流。