我正在使用restTemplate從 url 檢索資料,并將其作為物件串列獲取,但我需要一個字串串列才能對其進行過濾(我想洗掉重復項并更改一些屬性名稱)。
這是我的模板:
public static Provinces restTemplateProvince(RestTemplate restTemplate) {
String ProvinceCommunityURL = "https://www.el-tiempo.net/api/json/v2/provincias";
Provinces province = restTemplate.getForObject(ProvinceCommunityURL, Provinces.class);
return province;
}
現在我想過濾這些資料并在我自己的 API 中顯示它。我可以通過以下方式顯示它:
RestController
public class ShowcaseController {
@Autowired
ProvinceService provinceService;
@GetMapping("/provinces")
public Provinces getAllProvinces(){
return provinceService.getAllProvinces();
}
}
@Service
public class ProvinceService {
@Autowired
RestTemplate restTemplate;
public Provinces getAllProvinces(){
Provinces listOfProvinces = Templates.restTemplateProvince(searchList);
return listOfProvinces;
}
}
但是我不能在這個串列型別中過濾它。我該怎么做?
我的省級:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Provinces {
@JsonProperty("provincial")
private List<ProvincesData> provinces;
public Provinces(){}
public Provinces(List<ProvincesData> provinces) {
this.provinces = provinces;
}
@JsonProperty("provincial")
public List<ProvincesData> getprovinces() {
return provinces;
}
@JsonProperty("Test")
public void setprovinces(List<ProvincesData> provinces) {
this.provinces = provinces;
}
}
和 ProvinceData 類:
@JsonIgnoreProperties(ignoreUnknown = true)
公共課省資料{
@JsonProperty("CODPROV")
private String codProv;
@JsonProperty("NOMBRE_PROVINCIA")
private String nomeProvincia;
@JsonProperty("CODAUTON")
private String codAuton;
@JsonProperty("COMUNIDAD_CIUDAD_AUTONOMA")
private String comunidadeCidadeAutonoma;
public ProvincesData(){
}
public ProvincesData(String codProv, String nomeProvincia, String codAuton, String comunidadeCidadeAutonoma){
this.codProv = codProv;
this.nomeProvincia = nomeProvincia;
this.codAuton = codAuton;
this.comunidadeCidadeAutonoma = comunidadeCidadeAutonoma;
}
@JsonProperty("CODPROV")
public String getCodProv() {
return codProv;
}
@JsonProperty("Test")
public void setCodProv(String codProv) {
this.codProv = codProv;
}
public String getNomeProvincia() {
return nomeProvincia;
}
public void setNomeProvincia(String nomeProvincia) {
this.nomeProvincia = nomeProvincia;
}
public String getCodAuton() {
return codAuton;
}
public void setCodAuton(String codAuton) {
this.codAuton = codAuton;
}
public String getComunidadeCidadeAutonoma() {
return comunidadeCidadeAutonoma;
}
public void setComunidadeCidadeAutonoma(String comunidadeCidadeAutonoma) {
this.comunidadeCidadeAutonoma = comunidadeCidadeAutonoma;
}
}
用于隔離codAuton和comunidadeCidadeAutonoma列而不重復的過濾器。如果可能,構建一個僅包含我想要的資料的新串列并更改變數名稱,以便我可以在我的 API 中以不同的標題等顯示它們。
問候。
uj5u.com熱心網友回復:
將您的服務更新為:
public static Provinces restTemplateProvince(RestTemplate restTemplate) {
String ProvinceCommunityURL = "https://www.el-tiempo.net/api/json/v2/provincias";
Provinces province = restTemplate.getForObject(ProvinceCommunityURL, Provinces.class);
List<String> included = new ArrayList<>();
List<ProvincesData> filtered = province.getprovinces()
.stream().filter(p -> {
if (included.contains(p.getCodAuton())) {
return false;
} else {
included.add(p.getCodAuton());
return true;
}
})
.collect(Collectors.toList());
province.setprovinces(filtered);
return province;
}
可以更有效地完成,但它可能更具可讀性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/533810.html
標籤:爪哇弹簧靴休息
下一篇:無法將陣列添加到Matlab字典
