2017-08-12 63 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使单个请求