2015-12-09 106 views
1

我努力尋找一個答案(也許是因爲我沒有問這個問題正確)...多個端點公開相同資源的不同視圖

我建立API揭露資源爲我創建的基本社交網絡服務。 我的理解是,API中的URL結構基本上是一個層次結構,像結構一樣的目錄。我認爲這意味着我可以有多個端點來達到相同的資源或資源鏈接集合。 例如:

我有一個端點

www.domain.api.org/users/{:uid}/posts

將返回由用戶或用戶被標記在發送的所有帖子似乎確定,但如果我有一個端點如。 :

www.domain.api.org/posts

與一個HTTP GET擊中時將返回所有公開信息(即所有用戶的信息以及他的朋友們和公共職位)。

區別在於第一個網址指向用戶自有資源,而第二個網址指向公共網站(當然包括用戶帖子) 這些行爲是否合適,或者我是做錯了還是不合理的方式?

要重申,我可以擁有多個端點指向同一資源的不同上下文/視圖嗎?

回答

0

基本上應避免同一資源的多個端點。然而在這種特殊情況下它確實有道理。

你可以做的是推出可選的查詢參數userId以下端點:

www.domain.api.org/posts/?userId=<userId> 

如果代替你提到這是要走的路的第一個端點。

+0

謝謝。很好的答案。它讓我重新思考我的網址設計方法。特別是,它沒有任何意義,因爲只有登錄和認證的用戶纔可以查看該用戶的資源,因此我只是將登錄的用戶ID保存在任何url中的users /:uid中訪問令牌(jwt)在成功登錄後創建。 – gezinspace

+0

我認爲值得指出的是,像我這樣的其他人仍然gettjng掌握良好的網址端點設計。 – gezinspace

相關問題