@XmlElement (name = "", обязательный = true) не работает с валидатором springboot - PullRequest
0 голосов
/ 18 мая 2019

Изначально у меня был старый 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);
...