Существует инструмент python, чтобы сделать то же самое по имени openapi2jsonschema . Вы можете просто установить его с помощью pip
.
В readme для openapi2 показан самый простой способ его использования:
openapi2jsonschema https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json
Надеюсь, это поможет.
Вы должны определить пользовательскую аннотацию для этого предложения. что-то вроде ниже:
@Target(ElementType.FIELD)
@Retention(RUNTIME)
@Constraint(validatedBy = DateValidator.class)
@Documented
public @interface IsAfter{
String message() default "{message.key}";
String current();
}
, а также определить пользовательский валидатор, например:
public class DateValidator implements ConstraintValidator<IsAfter, LocalDate> {
String validDate;
@Override
public void initialize(IsAfter constraintAnnotation) {
validDate = constraintAnnotation.current();
}
@Override
public boolean isValid(LocalDate date, ConstraintValidatorContext constraintValidatorContext) {
String[] splitDate = validDate.split("-");
return date.isAfter(LocalDate.of(Integer.valueOf(splitDate[0]), Integer.valueOf(splitDate[1]), Integer.valueOf(splitDate[2])));
}
}
и использовать эту аннотацию:
@Past(message="date of birth must be less than today")
@IsAfter(current = "1900-01-01")
@DateTimeFormate( pattern="yyyy-MM-dd")
private Date dateOfBirth;
[113 ] примечание: я не проверял эту аннотацию!