Списки XML, содержащие дочерние элементы с одинаковыми именами, создают исключение Jackson InvalidDefinitionException.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Списки XML, содержащие дочерние элементы с одинаковыми именами, создают исключение Jackson InvalidDefinitionException.

Сообщение Anonymous »

У меня проблема с XML DTO. Я пытался собрать его в Spring Boot 3.3.5 и jackson-dataformat-xml v2.18.2. Проблема здесь в том, что у меня есть два списка, которые содержат дочерние элементы с одинаковыми именами в DTO.
DTO выглядит следующим образом:

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

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.List;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

@Builder
public class PlayerActivityDto {
@JacksonXmlProperty(localName = "playerActivityId", isAttribute = true)
private String brandId;

@JacksonXmlProperty(localName = "player")
private PlayerDto player;

@JacksonXmlProperty(localName = "playerActivityDetail")
private PlayerActivityDetailDto playerActivityDetail;

@Setter
@Getter
@JacksonXmlProperty(localName = "summaryBalance")
@JacksonXmlElementWrapper(localName = "startingBalanceList")
private List startingBalanceList;

@Getter
@Setter
@JacksonXmlProperty(localName = "summaryBalance")
@JacksonXmlElementWrapper(localName = "endingBalanceList")
private List endingBalanceList;

@JacksonXmlProperty(localName = "playerMovement")
@JacksonXmlElementWrapper(localName = "playerMovementList")
private List playerMovementList;
}
У меня проблема с двумя списками: EndingBalanceList и StartBalanceList. AFAIK, @JacksonXmlProperty(localName = "summaryBalance") должен называть дочерние элементы списков EndBalanceList и StartBalanceList "summaryBalance" и должен создавать действительный XML.
Однако Джексон создает это исключение :

Не удалось оценить сериализацию Джексона для типа [класс PlayerActivityDto]: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: конфликтующие определения метода получения для свойства summaryBalance: PlayerActivityDto#getStartingBalanceList() vs PlayerActivityDto#getEndingBalanceList()

Я пытался предоставить этим спискам собственные сеттеры и геттеры, но, похоже, это не помогло.


Подробнее здесь: https://stackoverflow.com/questions/792 ... finitionex
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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