将多个API端点捆绑到单个聚合端点是不是一个坏主意?

时间:2017-05-23 18:14:35

标签: ruby-on-rails api-design

说我正在建立一个关于食物的应用程序。我有食物图像,食物营养数据和食物评级的终点。

在我的移动应用程序中,当用户搜索食物时,我会调用所有这三个端点。

除了像这样分开三个端点之外,让一个端点返回相同数据但仅在一个请求中是不是一个坏主意?

理论上这可以节省时间和资源吗?

1 个答案:

答案 0 :(得分:1)

  

让一个端点返回相同数据但仅在一个请求中是不是一个坏主意?

当然不是!当用户点击api for say say show动作时,服务器应该响应客户端在一个请求中呈现它所需的所有必要和相关数据。

  

理论上这可以节省时间和资源

理论上和实际上两者,

  • 首先,在点击单个请求而不是3个/更多时保存用户数据..
  • 3个请求会将延迟,响应时间增加3倍,而不会影响ui和ux。
  • 3个请求主要会向db生成3个查询,在大多数情况下如果你有关联的模型,可以使用1获取数据

这些只是我可以列出的少数,它有很多优点。