我正在尝试使用 RestTemplate 来调用 Web 服务,目前我使用的是对象类型,而不是我想要做的具体用户定义的类型。
当前网络服务的响应是:
{Locales=[{Code=ar-AE, Name=العربية (الإمارات العربية المتحدة)}, {Code=az-AZ, Name=Azərbaycanılı (Azərbaycan)}, {Code=bg-BG, Name=български (България)}]}
我目前正在这样做:
Object locales = restTemplate.getForObject(localeUrl, Object.class, apiKey);
我希望能够将其映射到我定义的类,但不确定我的类应该如何布局,我的类当前如下所示:
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@XmlRootElement(name = "Locales")
@XmlAccessorType(XmlAccessType.FIELD)
public class Locales {
private List<Locale> Locales = new ArrayList<>();
private Locales(){};
public List<Locale> getLocales() {
return Locales;
}
public void setLocales(ArrayList<Locale> newLocales) {
this.Locales = newLocales;
}
}
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Locale {
private String Code;
private String Name;
private Locale(){}
public String getCode() {
return this.Code;
}
public void setCode(String Code) {
this.Code = Code;
}
public String getName() {
return this.Name;
}
public void setName(String Name) {
this.Name = Name;
}
}
最佳答案
使用下面的代码来调用 API -
Locales locales = restTemplate.getForObject(localeUrl, Locales.class, apiKey);
创建一个类
语言环境 -
@XmlRootElement(name = "Locales")
@XmlAccessorType(XmlAccessType.FIELD)
public class Locales{
private List<Locale> locales = new ArrayList<>();
// getter and setter
}
关于java - RestTemplate 映射到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40699826/