1

我有一个关于服务不同资源表示的最佳实践的问题。我的用例比简单地以不同的内容类型(比如 xml 或 json)提供对象的表示要复杂一些。

背景:此 API 用于内容管理系统。API 的一个关键方面是用户可以请求文档的 zip 文件,以及它的所有依赖项(链接的图像和其他文档)。

例如,一个人可能会访问一个文档,/rest/all-documents/{doc-id}该文档将返回该文档的 XML 表示。

在为他们设计一种获取文档压缩包及其所有依赖项的方法时,我提出了一些选择:

  1. 使用内容协商并将Accept标头设置为特定于供应商的内容,即:vnd.company.compiled-doc+zip
  2. 使用子集合,例如/rest/all-documents/{doc-id}/export(Export 是动词,所以我不确定这是否标准化)
  3. 在只读的不同 URI 上提供服务:/rest/compiled-documents/{doc-id}

由于这个问题可能会一次又一次地出现,我很难确定设计这部分 API 的最佳方法是什么。到目前为止,我倾向于选项 3,

谢谢,

凯西

4

1 回答 1

1

我建议采用以下方法:/rest/all-documents/{doc-id}.zip

知道您最终选择了什么解决方案会很有趣。

文斯。

于 2013-06-26T09:03:32.733 回答