В моем приложении Spring Boot 2.1 я хочу предоставить XML-HTTP-API.
Основываясь на существующей XSD-схеме, я сгенерировал Java-классы (используя jaxb). Сгенерированный код выглядит примерно так:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CustomerRequestType", propOrder = {
"firstName",
"lastName"
})
public class CustomerRequestType {
@XmlElement(name = "firstName")
protected List<FirstNameType> firstName;
@XmlElement(name = "lastName")
protected List<LastNameType> lastName;
// ...getter methods...
}
Мои весенние загрузочные RestControllers выглядят так:
@RestController
@RequestMapping("customer.xml")
public class CustomerController {
@PostMapping
public CustomerResponseType postCustomer(@RequestBody CustomerRequestType anfrage) {
// ...business code...
}
}
Как разрешить сбой весенней загрузки с Джексоном при десериализации запросов с неизвестными тегами или такими свойствами?
<Customer>
<firstName>Bob</firstName>
<lastName>Schmitt</lastName>
<unknownTag unknownProperty="1234"/>
</Customer>
Я попытался установить Джексона в строгом режиме, установив это свойство (хотя в документах говорилось, что в любом случае оно установлено на true
по умолчанию), но веб-служба по-прежнему возвращает статус 200:
spring.jackson.deserialization.fail-on-unknown-properties=true