2016-08-15 103 views
0

我開發了一個簡單的API,代表用戶可以借閱圖書的庫。RESTful API的設計

例子:

http://library/api/users/:user_id/books/:book_id 

用戶和本書的編號是唯一的。有可能找到沒有用戶ID的書。

有時我甚至不知道用戶的ID。

現在是否合法擁有類似以下的網址?

http://library/books/:book_id 

是否有其他模式可以解決我的問題?

謝謝!

+3

它實際上看起來更合法的:一本書是不是用戶的子資源。它不需要一個用戶來存在,並且隨着時間的推移它會被幾個不同的用戶借用。 –

回答

2

我認爲最好事先了解您的使用情況。

http://library/api/users/:user_id/books/:book_id

^這是用來詢問由給定用戶的特定圖書的借貸狀況的細節。這可能會給

  • 有關借款的一些信息。

    (例如借用日期,預計退貨日期,任何未付的票價等)。

  • 對本書有一些非常基本的細節是可以的。

  • 無需包括關於這本書

    非常多的書具體的細節(如:日期,它被添加到庫)。

http://library/books/:book_id

^這個用來查詢書的細節不知道是否已經連借來的。這應該提供

  • 關於這本書的更多細節。
  • 無論是在架子上還是借來的(如果借來的是什麼回報日期)。
  • 借用歷史。
  • 無需包括借多少具體細節

(例如:借款人姓名,出色的公平)