瘦或厚的REST客户端?

时间:2013-08-05 15:42:48

标签: rest web-applications

我们有从服务器(REST API)获取数据的移动应用程序

有两种方法:

  • / v1 / movies(返回电影:id,title,image_url ...)
  • / v1 / likes(返回用户喜欢的电影ID)

移动应用程序有一个“我的喜欢”视图,其中包含用户喜欢的电影,此视图还必须包含必要的元数据(id,title,image_url ...)

我看到了一些解决方案:

  1. 使用“/ likes /”方法
  2. 返回有关电影的更多信息
  3. 创建新方法“/ movies / likes /”
  4. 移动应用应提出2个请求。
  5. 我知道,这是灵活性和速度之间的选择。 当应用程序变为瘦客户端而不是厚的时,边框在哪里?

1 个答案:

答案 0 :(得分:0)

通常,可伸缩应用程序的最佳方法是尽可能少地发出HTTP请求。为此,您应该在为初始资源请求发回的数据中包含有关其他资源的信息。 密钥是将其他数据标记为不同的URI,然后客户端可以在不同的URI下缓存。

Take a look at HAL。 HAL提供所请求资源的表示,以及一些元数据,其中包括与其链接的其他资源的URI(_links),并允许其他资源的完整副本为内容响应(_embedded)。

这为您提供了每个请求的最大响应,直到我们获得允许多个请求内联的HTTP / 2.0。

我不使用术语“瘦”和“厚”客户端。每行代码都会使它稍微厚一些,并且没有描述两者的边界。