2016-08-15 12 views
0

ユーザーが書籍を借りることができるライブラリを表す簡単なAPIを開発しました。RESTful APIの設計

例:

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

ユーザーのIDと本はユニークです。ユーザーのIDなしで本を見つけることは可能です。

時には私はユーザーのIDを知らないこともあります。

次のようなURLを持つことは合法ですか?

http://library/books/:book_id 

は私の問題を解決するために、そこに他のパターンはありますか?

ありがとうございます!

+3

それは実際にはより合法的に見える:本は、ユーザーのサブリソースではありません。ユーザーは存在する必要はなく、時間の経過とともにいくつかの異なるユーザーが借用しています。 –

答えて

2

事前にあなたの使用事例を理解することをお勧めします。

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

^これは、特定のユーザーが指定した書籍の借入状況の詳細を問い合わせるために使用されます。これはおそらく

  • 借用に関する情報を提供します。

    (例:借用日、予想される返却日、未払い運賃など)。

  • この本の基本的な詳細はわかりました。

  • ブック

    について非常に多くの書籍具体的な詳細を含めるする必要はありません(例:それはライブラリに追加された日付)。

http://library/books/:book_id

^これは、それも借りてきたかどうかについては知らずに書籍の詳細を問い合わせるために使用されます。これは提供する必要があります

  • この本の多くの詳細。
  • ラックにあるか借りているか(借りた場合は返却日)。
  • 借用履歴。
  • ボロー

に多くの具体的な詳細を含めるする必要はありません(例:借り手の名前、卓越したフェア)

関連する問題