【发布时间】:2020-02-27 13:01:00
【问题描述】:
每个人。
所以,我有一个带有控制器的 SpringBoot 应用程序,该控制器具有多种方法,将以下 POJO 作为参数:
package com.example.dto;
import lombok.Data;
@Data
public class MyEntity {
@NotNull
private String fieldA;
private String fieldB;
}
对于其中一个控制器端点,我想应用额外的验证逻辑,因此在validation.xml 中添加以下内容:
<constraint-mappings>
<bean class="com.example.controller.SampleController" ignore-annotations="false">
<method name="doFoo">
<parameter type="com.example.dto.MyEntity">
<valid />
<constraint annotation="com.example.validation.ValidEntity" />
</parameter>
</method>
</bean>
</constraint-mappings>
com.example.validation.ValidEntity 是我要应用的约束注解。
我的问题是,只有在MyEntity 中定义的@NotNull 检查成功通过时,才会调用此附加约束。如果fieldA 为空,则忽略ValidEntity 约束,客户端会收到不完整的验证结果。我错过了什么?
【问题讨论】:
标签: java spring-boot javax.validation