2012-10-18 20 views
1

我有關於服務資源的各種表示的最佳做法的問題。我的用例比簡單地爲不同內容類型中的對象表示(比如說xml或json)複雜一點。REST API,提供表示的變體。導出具有依賴項的文件

背景:此API用於內容管理系統。 API的一個關鍵方面是用戶可以請求文檔的zip文件及其所有依賴關係(鏈接的圖像和其他文檔)。

例如,您可以訪問文檔/rest/all-documents/{doc-id},該文檔將返回文檔的XML表示。

當設計他們獲得文件的ZIP和所有它的依賴,我想出了幾個選擇的方式:

  1. 使用內容協商,並設置Accept頭的東西供應商特定的,即:vnd.company.compiled-DOC +拉鍊
  2. 使用一個子集,如/rest/all-documents/{doc-id}/export(出口是一個動詞,所以我不知道這是很好的標準化)
  3. 在不同的URI這是提供服務只讀:/rest/compiled-documents/{doc-id}

由於這個問題可能會一次又一次地出現,我很難確定什麼是設計這部分API的最佳方法。到目前爲止,我傾向於選擇3,

感謝,

凱西

回答

1

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

它知道你最終選擇了什麼解決方案會很有趣。

Vince。

相關問題