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

问题描述 投票:0回答:1

所以,我正在尝试确定从现有Web API获取/解析JSON数据的最佳方法。

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

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

返回JSON结构如下:

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

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

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

并返回JSON结构如下:

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

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

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

我的问题是:

  • 这看起来是正确的方法吗?
  • 你会建议哪些更好的选择?
  • 我应该进行这些同步或异步调用吗?
java json rest okhttp3 endpoint
1个回答
1
投票

这是您的查询的答案,

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

如果你只是需要来自第一个呼叫响应的id,那么将它们存储在List而不是Project中

.

你会建议哪些更好的选择?

由于第二次调用取决于第一次调用返回的id的数量,因此如果进行异步调用会更好,这将改善执行时间。

但是,如果您有权更改第二个端点,我建议使其接受多个ID。

我应该进行这些同步或异步调用吗?

您可以使用异步调用。 (例如,使用ExecutorServvice)

© www.soinside.com 2019 - 2024. All rights reserved.