从多个 REST 端点获取 JSON 数据的正确方法

Correct Approach to GET JSON Data From Multiple REST Endpoints

因此,我正在尝试确定从现有网络 API.

获取 getting/parsing JSON 数据的最佳方法

我的意思是,给定这样一个端点:

https://example.com/api/projects(不真实)

其中 returns JSON 结构如下:

{
    "count": 4424,
    "results": [
        {"id": 2718, "name": "fox", "location": "Omaha"}, 
        {"id": 2719, "name": "bear", "location": "Miami"}
    ]
}

然后我需要获取这些 ID 值的列表,以便从使用项目 ID 的后续端点获取 JSON:

https://example.com/api/projects/[id]/resources(不是真实的)

和 returns JSON 结构如下:

{
    "quota_cpus": 2,
    "active_cpus": 1,
    "quota_memory": 16384,
    "active_memory": 0
}

我的想法是使用 OKHTTP3 进行 REST 调用以检索项目 ID 并将它们存储在名为 Project 的 java 对象中。

然后我将遍历列表并进行另一个 REST 调用以检索每个单独项目的资源列表并将其存储在名为 ProjectResources 的新对象中。

我的问题是:

这里是您的问题的答案,

这看起来是正确的方法吗?

If you just need id's from first call response, then store them in a List instead of Project

.

您有什么更好的选择?

Since second call depends on number of id's returned from first call, its better if you make async calls which will improve the execution time.

But, if you have permission to change second endpoint, i would suggest to make it such that it accepts multiple ids.

我应该进行这些同步调用还是异步调用?

You can make use of async call. (For example, using ExecutorServvice)