I made a custom response API and am going to send a request with requestDto.
But validation doesn’t work.
Even if an abnormal request is sent, the validity cannot be verified.
@PostMapping
public Api<requestDto> requestApi(
@RequestBody @Valid Api<RequestDto> request) {
RequestResponse response = testService.testRequest(request.getBody());
return Api.OK(response);
}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class RequestDto {
@NotBlank
@Size(min = 1, max = 100)
private String address;
@NotNull
private LocalDateTime date;
}
@PostMapping
public Api<requestDto> requestApi(
@RequestBody @Valid Api<RequestDto> request, Errors errors) {
customApiValidator.validate(request.getBody(), errors);
RequestResponse response = testService.testRequest(request.getBody());
return Api.OK(response);
}
@Component
@RequiredArgsConstructor
@Slf4j
public class CustomApiValidator implements Validator {
private final SpringValidatorAdapter validator;
@Override
public boolean supports(Class<?> clazz) {
return Api.class.isAssignableFrom(clazz);
}
@Override
public void validate(Object target, Errors errors) {
if (target instanceof Api) {
Api<?> api = (Api<?>) target;
Object body = api.getBody();
validator.validate(body, errors);
}
}
}
I made a custom validator and tried to process it, but it doesn’t work either.
How can I verify the validity of Api?
New contributor
seob is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.