gpt4 book ai didi

java - Spring MVC : Where to place validation and how to validation entity references

转载 作者:行者123 更新时间:2023-11-29 06:22:09 24 4
gpt4 key购买 nike

假设我有以下用于创建用户的命令 bean:

public class CreateUserCommand {

private String userName;
private String email;

private Integer occupationId;
pirvate Integer countryId;

}

occupationId 和 countryId 是在表单上下拉选择的值。它们映射到数据库中的实体(职业、国家)。

此命令对象将像这样被提供给服务外观:

userServiceFacade.createUser(CreateUserCommand 命令);

此外观将构造一个用户实体以发送到实际服务。所以我想在外观层我将不得不进行几次 dao 调用来映射用户实体的所有查找属性。

基于此,验证 occupationId 和 countryId 映射到真实实体的最佳策略是什么?执行此验证的最佳位置在哪里?有 spring validator ,但我不确定这是最好的地方,因为我对这种方法持谨慎态度,因为验证与 web 层相关联,但这也意味着我需要在 validator 中进行 dao 调用用于验证,但当发生命令 -> 实体转换时,我需要再次调用外观层中的 dao。

有什么我可以做得更好的吗?

谢谢。

最佳答案

您确定需要 DTO 来检索实体吗?

我想你的用户如下

public class User implements Serializable {

private String userName;
private String email;

private Occupation occupation;
private Country country;

}

通常,在显示表单时引用另一个实体是通过使用一些

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