我作为初学者开始了Spring Rest项目.我的大多数实体都有超过15-20个属性,并且UI层上不需要所有属性.
我正在考虑使用DTO,原因如下:
我正在考虑使用DTO将多个实体合并在一起,根据角色隐藏/显示特定UI的某些信息,但是当我需要保留详细信息时,我必须将DTO信息"拆分/复制"回不同的实体.
员工 - 能够查看下一级经理的绩效评估和评论.经理 - 能够输入绩效评估的评论,并指出员工的薪资增量(这不会显示在员工的用户界面中),但无法查看员工当前的薪酬.HR - 能够查看所有UI的所有详细信息.
我想知道是否有更好的方法来处理这些问题,还是我正在为我的项目寻找正确的方向?
参考:http://www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application
我总是使用DTO将我的观点与我的JPA实体分离.除了列出的3个原因,我还可以添加以下内容.
@JSONCreator你可以有不可变的DTO,它可以有一些优点 - 虽然大多数时候DTO不用于多线程上下文,因此不需要.在我的项目中,我总是使用Lombok生成访问方法,这意味着DTO通常只包含数据字段(有时输入DTO具有验证器或实用程序方法).这使得它们非常容易创建/修改,并且易于与包含逻辑的类区分开来.与编写业务逻辑相比,创建DTO不需要时间,因此实现这种解耦的成本非常低,而且我真的相信它使得更容易阅读代码.
最好使用DTO,拥有干净的架构,使用DTO,当您修改Table时,FrontEnd不会发生任何变化。
但最好谨慎使用它。
祝你好运。
| 归档时间: |
|
| 查看次数: |
1472 次 |
| 最近记录: |