1

我有一个 OrderEntryData 类,在里面我有一个属性,它是一个 configurationInfoData 列表(List< ConfigurationInfoData >),在这个 ConfigurationInfoData 里面有一个 Object 类型的属性(Object 值)。该值有时会是日期、字符串或 customClass。

我正在将 Orika 用于 webServices,并且正在尝试解决 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&lt;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”

我试图实现一个转换器,因为我在想也许 Orika 不知道如何将对象转换为 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;
}
}
4

0 回答 0