Изначально у меня был старый xsd, и с этого момента я генерировал классы, используя xjc.Я пытаюсь использовать проверку на основе аннотаций JaxB, но, похоже, проверка игнорируется.Некоторые из узлов xml являются обязательными, но так как валидатор не использует обязательные, отмеченные в @XMLElement, значит, объект собирается выполнить бэкэнд-систему, а затем происходит сбой.
@ XmlElement (name = "", обязательно = true)
@Configuration
public class AppConfig {
@Bean
public JaxbAnnotationModule jaxbAnnotationModule() {
return new JaxbAnnotationModule();
}
@Bean
public ObjectMapper objectMapper() {
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new JaxbAnnotationModule());
mapper.setAnnotationIntrospector(new JaxbAnnotationIntrospector(mapper.getTypeFactory()));
mapper.setSerializationInclusion(Include.NON_NULL);
return mapper;
}
}
Проверка выполнена с использованием
@Autowired
private Validator validator;
...Some code...
Set<ConstraintViolation<Request>> violations = validator.validate(request);