Java Webclient映射嵌套对象

Java Webclient映射嵌套对象,java,spring-webflux,spring-webclient,Java,Spring Webflux,Spring Webclient,我正在使用WebClient来使用ai API 我需要的响应节点嵌套在内部 API响应示例 { "api": { "results": 129, "countries": [ { "country": "Albania", "code": "AL", "flag": "https:\/\/media.api-football.com\/f

我正在使用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的JSON响应中映射给定的节点

我只需要将每个国家映射到一个POJO,但这是我唯一能做到的 要做到这一点,需要组合复杂的对象

请原谅,我没有看到您的示例中提供的任何复杂对象。相反,POJO是语言中最简单的对象。它只是一个没有任何行为的数据容器

因此,您要做的是从API获取一些数据,并在POJO中充实这些数据,以便在应用程序中使用它们。我看那没什么错


现在,如果您想简化到如此糟糕的程度,您可以对
国家/地区结果
做些什么,因为您可以从
国家/地区.Countries.Size()
获取这些信息,但我也不确定这是否值得,或者这是否会给你带来更多的麻烦。

在你看来,哪些是非常复杂的对象?当我说复杂对象时,我需要创作比我需要更多的东西。在本例中,我只想将响应映射到Country对象
CountryResponse countryResponse = webClient
            .get()
            .uri("countries")
            .retrieve()
            .bodyToMono(CountryResponse.class)
            .block();