Я пытаюсь подтвердить свой запрос на отдых в соответствии с существованием некоторых полей.Например, если поле транзакции пусто или не существует в моем объекте запроса, я хочу выдать ошибку клиенту.
Я не смог сделать это, несмотря на источник этого руководства, и все же мои запросы могут передаваться в контроллер.
Как я могу проверить два или более полей в комбинации?
DTO
@FraudRestRequestValidator
public class FraudActionsRestRequest {
private BigDecimal amount;
private String receiverTransactionDate;
private String receiverNameSurname;
private BigDecimal exchangeRate;
private String transactionReferenceNumber;
@NotNull
private String transactionDate;
@NotNull
private String transactionTime;
private String transactionTimeMilliseconds;
private BigDecimal tlAmount;
private String channel;
}
АННОТАЦИЯ
@Constraint(validatedBy = FraudActionsRestValidator.class)
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface FraudRestRequestValidator {
String message() default "Invalid Limit of Code";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
VALIDATOR
public class FraudActionsRestValidator implements ConstraintValidator<FraudRestRequestValidator, FraudActionsRestRequest> {
@Override
public void initialize(FraudRestRequestValidator constraintAnnotation) {
}
@Override
public boolean isValid(FraudActionsRestRequest fraudActionsRestRequest, ConstraintValidatorContext constraintValidatorContext) {
//I will implement my logic in future
return false;
}
}
РЕГУЛЯТОР ОТДЫХА
@PostMapping("/getFraudActions")
public ResponseEntity<?> getFraudActions(@Valid @RequestBody FraudActionsRestRequest fraudActionsRestRequest, Errors errors) throws Exception
Спасибо.