【问题标题】: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 秒

标签: c# .net .net-core rest webapi


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 2014-01-12
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-16
    相关资源
    最近更新 更多