[英]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.