У меня есть класс OrderEntryData, и внутри у меня есть атрибут, который представляет собой список configurationInfoData (List ), а внутри этой ConfigurationInfoData - атрибут Type Object (значение объекта).Это значение будет когда-нибудь датой, строкой или customClass.
Я использую Orika для веб-сервисов и пытаюсь установить класс OrderEntryDTO.
Файл: customcommerceWebServices-beans.xml
<bean class="de.hybris.platform.commercewebservicescommons.dto.order.ConfigurationInfoWsDTO">
<property name="label" type="java.lang.String" />
<property name="value" type="java.lang.Object" />
</bean>
<bean class="de.hybris.platform.commercewebservicescommons.dto.order.OrderEntryWsDTO">
<property name="configurationInfos" type="java.util.List<de.hybris.platform.commercewebservicescommons.dto.order.ConfigurationInfoWsDTO>" />
<property name="orderCode" type="java.lang.String" />
</bean>
Я тестирую объект, который является экземпляром AddressData.Причина Отображение / Преобразование объекта адреса работает хорошо AddressData -> AddressDTO
проблема в том (я думаю), что Orika не распознает экземпляр объекта (источник объекта) или целевой класс (цель объекта),В ответе у меня должно быть AddressWsDTO, но я получаю:
"de.hybris.platform.cmssmarteditwebservices.dto.AbstractPageWsDTO@54330c75"
Я пытался реализовать конвертер, потому что думал, что может бытьОрика не знает, как преобразовать объект в AddressData (не работает).
@WsDTOMapping
public class ScalpAddressConverter extends BidirectionalConverter<AddressData, Object> {
@Override
public Object convertTo(AddressData addressData, Type<Object> type, MappingContext mappingContext) {
return (Object) addressData;
}
@Override
public AddressData convertFrom(Object o, Type<AddressData> type, MappingContext mappingContext) {
return (AddressData) o;
}
}