У меня есть приложение веб-службы Springboot, и я использую теги Джексона для XML и JSON.Для JSON я могу идентифицировать дубликаты, но не в XML.Для обнаружения дубликатов в JSON используется следующая конфигурация
spring:
jackson:
deserialization:
fail-on-unknown-properties: true
parser:
STRICT_DUPLICATE_DETECTION: true
DeserializationFeature.FAIL_ON_READING_DUP_TREE_KEY или JsonParser.Feature.STRICT_DUPLICATE_DETECTION, ни один из них не работает с вводом XML
Конфигурация для определения дубликатов, поскольку ниже указана конфигурация для обнаружения дубликатов1006 *
@Configuration
public class AppConfig {
@Bean(name = "xmlmapper")
public ObjectMapper xmlObjectMapper() {
ObjectMapper mapper = new XmlMapper();
mapper.setSerializationInclusion(Include.NON_NULL);
mapper.enable(DeserializationFeature.FAIL_ON_READING_DUP_TREE_KEY);
mapper.enable(JsonParser.Feature.STRICT_DUPLICATE_DETECTION);
return mapper;
}
}
Теперь, когда мы даем XML с дублирующимся элементом, он не выдает ошибку по умолчанию, он выбирает второе значение тега
<Test>
<A>v1</A>
<A>v2</A>
</Test>
Соответствующий класс указан ниже
@JacksonXmlRootElement(localName="Test")
public class Test {
@JsonProperty("A")
@JacksonXmlProperty(localName="A")
protected String a;
}
Ожидаемый результат - выдается ошибка, когда дубликаты тегов передаются в XML, но это не так.Я не хочу использовать регистронезависимость, поскольку это может вызвать еще одну проблему.