我有一个课程如下:
@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是否为此提供了更简单的解决方案?