我应该使用不同的DTO创建和更新吗?



我已经为user和以下UserDto创建和更新操作

public class UserDto {
@NotBlank
private String username;
@NotBlank
private String password;
@NotBlank
private String mobileNo;
... other variables, etc.
}

对于update操作,我不想更新密码,我只想更新其他变量。那么密码将被接收为空(因此不会传递@NotBlank)。

但是创建操作需要@NotBlank。解决这个问题的最佳方法是什么?

我应该创建2个Dtos例如UserCreateDto, UserUpdateDto(没有密码字段)。

我不确定这是不是一个好的做法。

假设您将有不同的api用于创建和更新操作。您可以使用相同的dto和密码字段,您可以将基于操作的验证放在后端,而不是在dto本身。

最新更新