2017-08-12 35 views
0

我正在創建一個角度應用程序,我需要顯示個人數量的動物數量。哪一個是製作單個HTTP請求或多個小HTTP請求的最佳設計?

例如:基於

我的後端數據具有存儲爲喜歡

{ id: 1, name: "lion" },{ id: 2, name: "lion" },{ id: 3, name: "lion" }, 
{ id: 4, name: "tiger" }, { id: 5, name: "tiger" }, { id: 6, name: "wolf" } 

然後我需要顯示

3獅子動物 2老虎 1狼

我有/動物:GET返回所有動物的終點。

響應:

{ 
    totalCount: 6, 
    animals: [ 
{ id: 1, name: "lion" },{ id: 2, name: "lion" },{ id: 3, name: "lion" }, 
{ id: 4, name: "tiger" }, { id: 5, name: "tiger" }, { id: 6, name: "wolf" } 
    ] 
} 

關於該要求是一個更好的設計

  1. 製作一個單獨的請求/動物:GET無需任何額外的PARAMS
  2. 發出請求/動物的多塊? name = lion and/animals?name = tiger and/animals?name = wolf
+0

有很多的關於這個主題的信息,因爲這不是框架特定的。你有沒有搜索過? – Vega

+0

重複的ID是否是錯字? – DaSourcerer

+0

是4是一個錯字 – user3636922

回答

1

最好向服務器發出一個請求,以便一次性提供所需的所有數據。一次呼叫會比多次呼叫更快。

一個很好的比喻是去商店。如果您不得不取回10件物品,最終攜帶相同數量的重量(即數據),無論您是去一次還是去10次,然而,10次涉及10次行程的努力。

這與服務器請求相同。您的客戶端必須創建與服務器的連接,請求數據,服務器從池中獲取連接,數據庫必須查找要檢索的數據的索引。如果你這樣做了一次,那麼所有這些事情都會作爲一個單獨的操作發生,而不是所有這些事情發生10次。

+0

請你解釋一下爲什麼單個請求比多個請求更好? – user3636922

+0

我已添加更多信息。 –

0

那麼它取決於你想要什麼類型的數據和你想要的。單個請求總是比多個請求更好,因爲如果您的應用程序擴展,您的服務器必須減少工作量,從而減少性能問題。

如果你想獲取所有的動物做一個請求,但如果你想取3-4只動物比你可以創建多個請求或傳遞一個數組作爲PARAM使單個請求