4

リソース ID を他の手段 (認証が必要なページの current_user など) で識別できる状況では、URL から ID を省略するのは良い考えですか? (例:/students/1/homework/students/homework)。

また、これは URL の安らぎに影響を与えますか? HTTP動詞の場合はそうなるのではないかと思いますが、カスタムアクションの場合はよくわかりません.

4

3 に答える 3

2

それはあなたのアプリケーションと、クライアントが見るのに役立つものにかかっていると思います. 接続しているユーザーが、すべての学生の宿題を見ることができる管理者である場合、/students/1/homeworkパスは理にかなっていますが、このリソースを使用するのが学生だけである場合は、パス/students/homeworkはより理にかなっています。基本的に、後者はすべての学生向けリソース
と考えることができます。クライアント ライターを混乱させず、権限を明確に保つ (誰が何を表示/実行できるか) ために、 これらのリソースを分割すると非常に便利であることがわかりました。namespace
namespaces

于 2013-01-03T09:31:30.580 に答える
1

URL は常に 1 つの特定のリソースを指す必要があります。それらは絶対的または相対的のいずれかです。ファイルシステムと考えてください。場合によっては (セキュリティ/スケーラビリティ)、リストを許可できないことがあります。

  • セッションベース / 相対リソース /students/me, /students/latest,/students/latest/homework/lastest
  • 絶対資源 /students/3/students/3/homework/teachers/3/homework/3
于 2014-04-24T08:45:20.260 に答える
1

あなたの例では、2 つの URI が異なるリソースを識別します。

  • ユーザー#1の宿題、
  • 現在のユーザーの宿題。

どちらを選択するかは、人々がどのリソースを参照したいと思うか (たとえば、電子メールやブックマークなど) によって大きく異なります。

2 番目のソリューションが非 RESTful であるとは思いませんが、多くの追加機能と互換性があるため、最初のソリューションを好むでしょう (たとえば、教師は生徒の宿題の表現にアクセスできます)。

于 2013-01-03T09:42:42.913 に答える