#java #json #jackson #lombok
Вопрос:
У меня странная проблема с использованием Джексона в моем проекте Spring Boot.
У меня есть этот урок:
@Getter
@Setter
public class MyClassDto {
@JsonProperty("TSContact")
private List<Contact> tsContact = new ArrayList<>();
@JsonProperty("LocationContact")
private List<Contact> locationContact = new ArrayList<>();
}
Когда я пытаюсь сопоставить его с другим классом, используя:
mapper.map(this, MyClass.class);
Я получаю:
Failed to evaluate Jackson deserialization for type [[simple type, class model.dto.payload.MyClassDto]]: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Conflicting getter definitions for property "TSContact": model.dto.payload.MyClassDto#getTsContact(0 params) vs model.dto.payload.MyClassDto#getLocationContact(0 params)
Что я могу сделать, чтобы этого избежать?
Комментарии:
1. можете ли вы предоставить код MyClass?
2. Вы могли бы попробовать без Ломбока и посмотреть, отличается ли ошибка.
3. У Джексона есть проблемы с так называемыми «разделенными свойствами», если они определены определенным образом, семантически точным, но не тем, что он ожидает. Пропустите Ломбок для этого занятия и посмотрите, что произойдет.