使用单个api端点来获取多个模型数据是一种不好的做法吗?

时间:2017-05-23 04:20:20

标签: api http server api-design

我们的移动应用程序最近开始出现延迟问题。这样做的主要原因是因为在每个应用程序打开时,它会尝试与服务器同步并触发~10 api端点调用来获取每个模型。

例如,

GET /api/profile
GET /api/locations/all
GET /api/positions/all
... 10 more

所以我正在尝试实现一个api,客户端可以调用它来更容易地与服务器数据同步。

说,

GET /api/user

将以json格式返回数据,如:

{
  "profile": ...,
  "locations": ...,
  "positions": ...,
  ...
}

但我担心这不是一个好习惯,因为我没有看到很多这样做的软件。

使用单个api端点一次获取多个模型数据是一种不好的做法吗?

1 个答案:

答案 0 :(得分:1)

端点可以返回任何有意义的东西。您就是定义模型的人。

您的案例中较大的问题是它是否能解决您的延迟问题。一个端点的性能是否会好于10?这取决于。

另一个需要考虑的选择是在每个应用程序打开时都不会点击所有这些端点。数据可以在设备上缓存一段时间并定期刷新吗?

这些是需要考虑的事情。