REST API和急切加载休息资源

时间:2014-11-24 08:49:31

标签: rest

想象一下像作者这样的资源。作者有多本书,多张图片等。

在我的应用的某些页面中,我只需要表面作者数据,例如名称。在其他页面中,我也需要所有嵌套资源。如何处理嵌套资源的加载?

  1. 我是否在一次通话中加载所有内容,以便: GET / authors返回{    名称:x,    书籍:{      书名:a,       ...    }  }

  2. 接受指定嵌套对象的可选参数,例如:
    GET / authors?include = books& pictures

  3. 返回表面作者数据,然后在后续调用中获取相关资源。但是,这可能导致n + 1类型查询,例如:
    GET /作者
    GET / author / 1 / images
    GET / author / 1 / books
  4. 任何洞察力

1 个答案:

答案 0 :(得分:0)

我会使用以下REST样式的URL:

GET / authors - 获取所有作者的列表

GET / authors / {authorId} - 一个请求中关于具体作者的基本信息

GET / authors / {authorId} / detailed - 在一个请求中有关具体作者的详细信息

此外,您可以使用以下方法提取有关作者的特定信息:

GET / authors / {authorId} / images - 按作者获取所有图像

GET / authors / {authorId} / images / {imageId} - 按作者获取一张图片

GET / authors / {authorId} / books - 按作者获取所有书籍

GET / authors / {authorId} / books / {bookId} - 按作者获取一本书

我还建议您阅读REST资源命名约定here