在Spring中映射不同类的属性

时间:2015-02-22 20:38:21

标签: java spring annotations

我有一个课程如下:

@Entity
@Table(name="item_info")
@JsonIgnoreProperties(ignoreUnknown = true)
class Original{
    String sku;
    String productname;
    // few other properties
    // getter / setter methods
}

我通过使用RestTemplate调用api(返回json)来填充这些属性。填充后,我需要将其存储在DB中。问题是,基于某些条件,我称3个不同的apis。现在,所有三个api都有我需要的信息。但是,密钥在不同的api中可能会有所不同。例如,密钥可能只是“name”而不是“productname”。

所以,我创建了三个不同的类,每个类映射到一个api。例如:

class Api1{
    String sku;
    String name;
    // other properties and getter/setters
}

我用这样的东西填充Api1的值:

Api1 api1 = restTemplate.exchange(url, HttpMethod.GET, request, Api1.class).getBody();

现在,我需要将新类的属性映射回原始类(即将Api1类的“name”映射到Original类的“productname”)。我该怎么做呢?我需要手动进行映射吗?或者Spring是否为此提供了更简单的解决方案?

0 个答案:

没有答案