通过调用 API 最有效的方法是啥?

Posted

技术标签:

【中文标题】通过调用 API 最有效的方法是啥?【英文标题】:what the most efficient way to by call API?通过调用 API 最有效的方法是什么? 【发布时间】:2021-09-08 21:30:05 【问题描述】:

我正在使用 C# 的 .net 核心控制台应用程序。

我有一个 API(比如 API 1)给我 DataID。传递这个DataID 我需要调用另一个API(比如API 2),它会给我vehicleId 的列表。就像调用 Get ../api/DataID/vehicles/ 给出如下

                   
                    "vehicleIds": [
                                    603285889,
                                    1328361472,
                                    1333092761,
                                    1595876995,
                                    799206723
                                  ]
                   

通过将 DataID 和 VehicleID 传递给另一个 API(比如 API 3),我将获得车辆详细信息以及 DealerId。就像调用 Get ../api/DataId/vehicles/VehicleId 在下面给出的一样

   
        "vehicleId": 2063928446,
        "year": 2004,
        "make": "MINI",
        "model": "Cooper",
        "dealerId": 1508315732
    

现在将 DataId 和 DealerId 传递给另一个 API(比如 API 4),我将获得 Dealer Name 。就像调用 Get ../api/DataId/dealers/DealerId 一样

"dealerId": 1508315732, “名称”:“鲍勃的汽车”

调用 API 的最有效方式是什么?

可以循环遍历列表并为每个项目调用 API 但我正在寻找更好更有效的方法。 我正在使用 C# 和 HttpClient 使用 .net 核心控制台应用程序。

【问题讨论】:

您是否可以控制 API 设计,例如可以通过多个经销商或多个车辆? 我正在寻找更好和更有效的方法 - 请提供更好和有效的具体描述,例如为什么在循环中调用它没有效率? 我的目标是在 20 秒内获得结果,但我能够超过 30 秒 【参考方案1】:

这是一个依赖问题,您必须等待才能进行下一次调用。

第一次调用多次,这样你就有一批 DataID,甚至得到一个 DataID 列表,然后你可以使用线程机制产生多个调用。

【讨论】:

以上是关于通过调用 API 最有效的方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

通过聚合在pandas组中查找频繁项的最有效方法是啥[重复]

通过 JavaScript 对 HTML 表格进行排序的最有效方法是啥?

通过查询生成以下has_many的最有效方法是啥

通过更改android中的参数来重复调用rest api的最佳方法是啥

将 OpenGL 用于 2d 游戏的最有效方法是啥?

在 GCP 上运行基于 Java 的 API 后端(Spring Boot、Micronaut、Quarkus)最经济有效的方法是啥?