Spring Boot Validation不适用于泛型



我尝试验证购买春季启动验证,但我不能有效泛型类型。我实现了org.spring框架。在build.gradle中启动:spring-boot-starter-validation我有一个对象:

public class BaseAPIRequestDTO<T, U> {
@NotNull
private T content;
@NotNull
private U info;
@NotEmpty
private String signature;}

和泛型对象:

public class ContentRequestDTO {
@NotNull
@NotEmpty(message = "Thiếu transactionId")
private String transactionId;
private DataRequestDTO data;}

…和控制器:

public ResponseEntity<BaseAPIResponseDTO<ContentResponseDTO, InfoResponseDTO>> connnnnn(@RequestBody @Valid BaseAPIRequestDTO< @Valid ContentRequestDTO, @Valid  InfoRequestDTO> request, BindingResult bindingResult, HttpServletRequest httpServletRequest)

但是当我在请求中清除ContentResponseDTO的transactionId时,bindingResult有0错误结果

我现在需要做什么?非常感谢。

您是否尝试在BaseAPIRequestDTO属性中添加@Valid ?

的例子:

public class BaseAPIRequestDTO<T, U> {
@Valid
@NotNull
private T content;
@Valid
@NotNull
private U info;
@NotEmpty
private String signature;
}

应该可以。

最新更新