我作为一个初学者已经开始了一个Spring Rest项目。我的大多数实体都具有15-20个以上的属性,并且并非UI层上需要所有属性。
我出于以下原因考虑使用DTO:
我正在考虑使用DTO将多个实体合并在一起,根据角色隐藏/显示某些UI的某些信息,但是当我需要保留细节时,我必须将DTO信息“拆分/复制”回不同的实体。
员工-可以查看下一级经理的绩效评估和评论。经理-可以输入绩效评估的注释,并指示员工的加薪幅度(这在员工的UI中未显示),但无法查看员工的当前薪资。HR-能够查看所有UI的所有详细信息。
我想知道是否有更好的方法来解决此类问题,还是我为我的项目指明了正确的方向?
参考:http : //www.baeldung.com/entity-to-and-from-dto-for-a-java-spring-application
我总是使用DTO将我的视图与JPA实体分离。除了列出的3个原因外,我还可以添加以下内容。
@JSONCreator
DTO可以拥有不可变的DTO,这可以具有一些优点-尽管大多数情况下DTO不在多线程上下文中使用,因此不需要。在我的项目中,我始终使用Lombok生成访问方法,这意味着DTO通常仅包含数据字段(有时,输入的DTO具有验证器或实用程序方法)。这使得它们超级易于创建/修改,并且易于与包含逻辑的类区分开。与编写业务逻辑相比,创建DTO无需花费时间,因此进行这种解耦的成本非常低,并且老实说,我相信这样做会使读取代码更容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句