Код ниже не выдает ошибки, возможно, он не может проанализировать, но возвращает поля appConfig
как null
. Я пробовал JAXB, в отличие от того, что JAXB выдает ошибку. Мне нужно, чтобы мой код не мог анализировать, когда xml недействителен. Как я могу это сделать?
Пожо:
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonRootName;
@Data
@JsonRootName("app-config")
public class Config {
private String type;
private String body;
}
XML (config-invalid.xml):
<?xml version="1.0" encoding="UTF-8"?>
<invalid></invalid>
Десериализовать XML:
...
XmlMapper xmlMapper = new XmlMapper();
xmlMapper.setPropertyNamingStrategy(PropertyNamingStrategy.KEBAB_CASE);
xmlMapper.enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
Config appConfig = xmlMapper.readValue(new File("config-invalid.xml"), Config.class);
...
Он выдает только xml, как показано ниже: XML(config-invalid.xml):
<?xml version="1.0" encoding="UTF-8"?>
<app-config>
<invalid></invalid>
</app-config>