Джексон 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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