2015-11-27 21 views
1

我有一個API調用,需要18分鐘才能返回一堆數據。該數據是具有多個鍵的對象。將一個API調用分解爲多個API調用的優勢

它是否正常,並被認爲是一個更好的做法,分解成每個鍵的多個呼叫分開?

是否發送一個API調用需要很長時間才能返回,比爲網絡加載和服務器發送多個調用(5分鐘)要好?

回答

0

首先爲具有簡單接口的API設計,如果加載成爲問題,則在實現中解決該問題。

將單個對象分解爲多個必須由用戶重新組裝的子對象的API調用會增加API用戶的複雜性。從API設計角度看,這是不好的

如果您的測試人員發現有必要解決網絡負載問題,那麼您可以在不改變接口的情況下減少實施該API調用時的數據傳輸。例如:

  • 你可以轉移的每個按鍵,按鍵之間的短暫停留,以允許發生 其他網絡流量。這對您的API的用戶是不可見的,儘管他們可能會注意到這個特定的API調用 現在運行速度較慢。

  • 或者您可以根據需要從服務器檢索密鑰。也就是說,在通過另一個API調用請求之前,不要將密鑰檢索到對象的本地副本中。同樣,從API用戶的角度來看,這是不可見的,儘管每個鍵的初始加載速度會更慢(隨後對已經檢索到的鍵的訪問當然會很快)。

在這兩個例子中,都需要增加整體設計的複雜性,但這種複雜性對API的用戶是隱藏的。這是良好的API設計的關鍵。