我正在使用WebClient来调用AI API
我需要从响应中嵌套的节点
示例API响应
{
"api": {
"results": 129,
"countries": [
{
"country": "Albania",
"code": "AL",
"flag": "https:\/\/media.api-football.com\/flags\/al.svg"
},
{
"country": "Algeria",
"code": "DZ",
"flag": "https:\/\/media.api-football.com\/flags\/dz.svg"
}
]
}
}
我只需要将每个国家映射到一个POJO中,但是我能够做到的唯一方法是通过组合复杂对象来实现与API响应相同的表示。
public class CountryResponse {
private Countries api;
}
public class Countries {
private int results;
private List<Country> countries;
}
public class Country {
private String country;
private String code;
private String flag
}
然后我调用API
CountryResponse countryResponse = webClient
.get()
.uri("countries")
.retrieve()
.bodyToMono(CountryResponse.class)
.block();
我希望避免创建非常复杂的对象,只是为了能够映射API返回的JSON响应中的某个节点。