1
我有關於服務資源的各種表示的最佳做法的問題。我的用例比簡單地爲不同內容類型中的對象表示(比如說xml或json)複雜一點。REST API,提供表示的變體。導出具有依賴項的文件
背景:此API用於內容管理系統。 API的一個關鍵方面是用戶可以請求文檔的zip文件及其所有依賴關係(鏈接的圖像和其他文檔)。
例如,您可以訪問文檔/rest/all-documents/{doc-id}
,該文檔將返回文檔的XML表示。
當設計他們獲得文件的ZIP和所有它的依賴,我想出了幾個選擇的方式:
- 使用內容協商,並設置
Accept
頭的東西供應商特定的,即:vnd.company.compiled-DOC +拉鍊 - 使用一個子集,如
/rest/all-documents/{doc-id}/export
(出口是一個動詞,所以我不知道這是很好的標準化) - 在不同的URI這是提供服務只讀:
/rest/compiled-documents/{doc-id}
由於這個問題可能會一次又一次地出現,我很難確定什麼是設計這部分API的最佳方法。到目前爲止,我傾向於選擇3,
感謝,
凱西