所以,我正在尝试确定从现有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的新对象中。
我的问题是:
这是您的查询的答案,
这看起来是正确的方法吗?
如果你只是需要来自第一个呼叫响应的id,那么将它们存储在List而不是Project中
.
你会建议哪些更好的选择?
由于第二次调用取决于第一次调用返回的id的数量,因此如果进行异步调用会更好,这将改善执行时间。
但是,如果您有权更改第二个端点,我建议使其接受多个ID。
我应该进行这些同步或异步调用吗?
您可以使用异步调用。 (例如,使用ExecutorServvice)