【发布时间】:2018-10-29 19:36:13
【问题描述】:
我目前正在开发第一次使用 DTO 的 API。到目前为止,我已经使用了 Spring 的表单验证和javax.validation。
所以我的问题是,是否有办法将 DTO 和“表单”验证结合起来。让我解释一下自己:假设我有一个服务要登录,另一个要注册。在注册服务中我们有:姓名、密码和邮箱,其中3个必须填写。登录服务只需要填写邮箱和密码即可。所以我们会有类似的东西:
private String name;
private String password;
private String email;
到目前为止,我所做的是为每个请求(表单)创建一个 POJO,然后使用 @NotNull 等注释,但现在在我所在的项目中使用 DTO,它们只是具有相同的 DTO 和业务对象相同的属性,没有约束。
我怎么能做我平时做的事?检查控制器中不能为空的字段对我来说看起来有点脏,我不能只在 UserDTO 中添加类似 @NotNull 的内容,因为在两个示例中我说我还必须发送name 登录时,虽然该服务不需要它。
那么,我怎样才能将这两件事结合起来呢?这是不可能的还是有更好的方法?
谢谢。
【问题讨论】:
-
可能与this other question有关。
-
@AndrewS 我想这就是我需要的我想,我现在应该怎么做?删除这个问题? Idk 重复/相关时该怎么办
标签: java spring forms spring-boot dto