Джексон POJOPropertyBuilder находит несколько установщиков в POJOJAVA

Программисты JAVA общаются здесь
Anonymous
Джексон POJOPropertyBuilder находит несколько установщиков в POJO

Сообщение Anonymous »

Мы работаем над довольно большим API-интерфейсом JSON REST, используя Spring Web MVC 3.2.2 и Jackson Databind 2.4.4 (среди многих других библиотек...).

Я пытаюсь использовать swagger-springmvc, но у меня возникают проблемы с некоторыми нашими DTO.

Неважно, использую ли я простой @EnableSwagger или более сложная конфигурация Swagger, я всегда получаю следующее исключение при запуске Tomcat 7:

Код: Выделить всё

java.lang.IllegalArgumentException: Conflicting setter definitions for property "year": javax.xml.datatype.XMLGregorianCalendar#setYear(1 params) vs javax.xml.datatype.XMLGregorianCalendar#setYear(1 params)
at com.fasterxml.jackson.databind.introspect.POJOPropertyBuilder.getSetter(POJOPropertyBuilder.java:303)
at com.mangofactory.swagger.models.Annotations.findPropertyAnnotation(Annotations.java:33)
at com.mangofactory.swagger.models.property.bean.BeanModelProperty.(BeanModelProperty.java:26)
at com.mangofactory.swagger.models.property.bean.BeanModelPropertyProvider.beanModelProperty(BeanModelPropertyProvider.java:166) (...rest of stacktrace )
Упомянутое выше свойство «год» — это всего лишь один пример, он был опробован без класса, содержащего свойство год.

Странно то, что Джексон, похоже, дважды находит одни и те же методы/установщик:

Код: Выделить всё

javax.xml.datatype.XMLGregorianCalendar#setYear(1 params)
vs javax.xml.datatype.XMLGregorianCalendar#setYear(1 params

Я провел некоторое время с отладчиком и заметил, что некоторые DTO, кажется, прекрасно проходят проверку на наличие конфликтующих установщиков.

Я потратил на это много часов и не смог найти решение. Большинство страниц для этого исключения, которые я нашел в Google, говорят о перегруженных методах / сеттеры, чего нельзя сказать о моих DTO — это простые объекты, в которых нет ничего, кроме свойств, сеттеров и геттеров.

Буду очень признателен за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/280 ... rs-in-pojo

Вернуться в «JAVA»