2014-01-21 69 views
0

我正在實現發佈文件的異步REST API,然後將其添加到隊列以供進一步處理。我的問題是這種命名資源的最佳做法。REST如何命名隊列資源

資源#1 POST文件其中{type}是動態的。

POST /files/{type} 

將數據發佈到此資源。它排隊,用戶將收到唯一的隊列ID。應如何命名文件隊列的資源?

資源#2。獲得文件排隊

OPTION 1. GET /files/queues/{QueueID}

OR

OPTION 2. GET /files/{type}/queues/{QueueID}

哪一個更有意義?用戶可以上傳具有不同{type}的文件。

,或者我應該只使用獲取隊列的項目,如完全不同的資源:

GET /queues 

/queues/{QueueID} 

感謝提示。

回答

1

這取決於您的需求。 (或客戶的需求)

我會去「/ queues/{QueueID}」選項,因爲queueId本身(沒有類型)標識文件,所以不需要包含它。 此外,我甚至會從POST方法中省略{type}變量,因爲您可以簡單地在HTTP標頭中發送該信息。 (內容類型)

當您必須顯示按類型分組的文件時,「文件/ {類型}」方法更有用。沒有這種需要,就沒有必要進一步複雜化資源標識符。

(注意:如果「排隊」和「文件」的項目是相同的,那麼你可以使用GET /文件/ {QueueId})

+0

謝謝,我覺得獨立的資源/隊列/ {QueueID}中這種情況是明確的解決方案另外,也許我可以爲'POST/files/{type}'--Request返回header'Location:/ queues/{QueueID}'。 – kleht8