簡體   English   中英

RESTful Web服務中的資源路徑

[英]Resource paths in a RESTful webservice

我正在按照REST架構風格構建Web服務。 我正在使用JAX-RS來簡化它。 然而,這個問題並不關心技術,而是正確使用資源路徑。

我在我的應用程序中創建了一些資源,例如Quiz,Question和QuestionFeedback。

我創造了諸如此類的路徑

/quiz /question/1

等等。 現在,我已經看到了一些公開路徑的Web服務API,例如/approved/questions/approved 路徑的批准部分看起來更像是問題可能具有的屬性(在這種情況下),我想知道這是否正常,以及邊界在使其成為請求參數和路徑的一部分之間的位置?

是否可以公開Web服務中的路徑,這些路徑在某種程度上暴露了系統中的一個預期資源,就像本例中的Question ,但是除了正常/questions路徑之外還通過/approved這樣的路徑? 有什么規則,這應該是怎樣的?

如果我沒有人問我會創建像/questions?type=approved這樣的路徑/questions?type=approved :GET。

因為已批准不是我系統中的資源。 或者可以創建公開資源的路徑......但不要直接使用資源名稱。

您問的是,只有通過附加信息才能理解的路徑是否正常。 好吧,他們沒有錯,但我不會選擇它們。

你的問題是(用我的話說):

給我所有具有批准額外功能的問題。

這歸結為兩個步驟:

第一步

得到所有問題。

GET /questions

第二步

其中只有那些已獲批准的人。

GET /questions?approved=true

這很自然。

相比之下,為什么第二步會導致/approved 這與/questions什么關系? 沒有明顯的方法來回答這個問題。 雖然在技術上可以使用像/pink-elephants這樣的奇怪路徑,這些路徑應該轉化為“給我所有批准的問題”,但這不是我推薦的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM