我有ParentDTO
和Son
类,我使用@JsonSubTypes
进行了序列化
当我尝试使用JSR 303验证约束时,子类:
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import javax.validation.constraints.NotNull;
import lombok.Data;
import java.util.Set;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
visible = true,
property = "type",
include = JsonTypeInfo.As.EXISTING_PROPERTY)
@JsonSubTypes({
@JsonSubTypes.Type(value = Son.class, name = "TITLE")})
public abstract class ParentDTO {
@NotNull(message = WRONG_IS_EMPTY)
private ParentType type;
@NotNull(message = WRONG_IS_EMPTY)
private String key;
}
@Data
@EqualsAndHashCode(callSuper = true)
public class Son extends ParentDTO {
@Valid
private Data data;
public NativeDataAssetDTO() {
this.data = new NativeDataAssetDTO.Data();
}
@lombok.Data
public class Data {
@NotNull(message = WRONG_IS_EMPTY)
@Min(value = 1 ,message = WRONG_NUMBER_MIN )
private Integer maxLength;
@NotNull(message = WRONG_IS_EMPTY)
private DataType type;
}
}
我没有让maxLength
字段受到约束验证,我在做什么错?