Я пытаюсь использовать 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)Я провел некоторое время с отладчиком и заметил, что некоторые DTO, кажется, прекрасно проходят проверку на наличие конфликтующих установщиков.
Я потратил на это много часов и не смог найти решение. Большинство страниц для этого исключения, которые я нашел в Google, говорят о перегруженных методах / сеттеры, чего нельзя сказать о моих DTO — это простые объекты, в которых нет ничего, кроме свойств, сеттеров и геттеров.
Буду очень признателен за любую помощь!
Подробнее здесь: https://stackoverflow.com/questions/280 ... rs-in-pojo
Мобильная версия