2016-08-15 98 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

^这个用来查询书的细节不知道是否已经连借来的。这应该提供

  • 关于这本书的更多细节。
  • 无论是在架子上还是借来的(如果借来的是什么回报日期)。
  • 借用历史。
  • 无需包括借多少具体细节

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