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

因此,我正在尝试确定从现有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值的列表,以便从使用项目ID的后续端点获取JSON:


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


并返回 JSON 结构,如下所示:


{

    "quota_cpus": 2,

    "active_cpus": 1,

    "quota_memory": 16384,

    "active_memory": 0

}

我当时的想法是,我将使用 OKHTTP3 进行 REST 调用来检索项目 ID,并将它们存储在名为“项目”的 Java 对象中。


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

我的问题是:

  • 这似乎是正确的方法吗?

  • 你会建议什么更好的选择?

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


BIG阳
浏览 90回答 1
1回答

斯蒂芬大帝

以下是您查询的答案,这似乎是正确的方法吗?如果您只需要第一个调用响应中的id,则将它们存储在列表中而不是项目中.你会建议什么更好的选择?由于第二次调用取决于从第一次调用返回的id数,因此最好进行异步调用,这将改善执行时间。但是,如果您有权更改第二个端点,我建议您使其接受多个ID。我应该进行这些同步调用还是异步调用?您可以使用异步调用。(例如,使用执行器服务)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java