1

RESTful API の設計に関する質問が 2 つあります。私が果物屋のウェブアプリを持っているとしましょう。私が運ぶすべての果物とそれらの果物の数に関する情報を返したいのですが、次のようにします。

http://myfruitstand.com/fruits

質問 1: 10 個のオレンジがある場合、特定のオレンジに関する情報を次の方法で取得できると考えています。

http://myfruitstand.com/fruits/oranges/3

しかし、上記の URL は RESTful ですか? REST 標準に準拠するために「果物」と「オレンジ」の間に ID は必要ありませんか? または、「果物」の直後にサブクラス「オレンジ」が続くこの URL は問題ありませんか?

質問 2: 同様に、私のオレンジ (特定のオレンジではなく) についてディスカッション フォーラムを開きたい場合は、ここに置くことができます:

http://myfruitstand.com/fruits/oranges/comments

繰り返しますが、「オレンジ」と「コメント」の間に ID がないため、上記の URL は RESTful ですか? ここでは、「オレンジ」の直後に「コメント」が続くサブクラスの合理的なサブクラスはありません。

前もってありがとう、チャック

4

4 に答える 4

1

RESTful スタイルについて自分で質問しているところです。しかし、これに対する私の見解は次のとおりです。

果物屋なら「果物」じゃないですか。簡単にどうですか:

/オレンジ/{id}

または:

/フルーツ/{id}

オレンジタイプの果物です。

/fruits?type=orange は、オレンジのリストを返すことができます

于 2011-02-20T22:41:20.667 に答える
1

/fruits/:id1/items/:id2 のように、リソースとコレクション/id のペアで構築する方が RESTful になります。ここで、id1 = オレンジ、id2 = 3

/fruits/orange/items/3

次に、オレンジをリソース コレクションではなくリソースのインスタンスとして扱っているため、オレンジの「s」を失った場合、2 番目の質問に対する答えも正しいでしょう。

/fruits/orange/comments

たとえば、 http://www.slideshare.net/Wombert/phpnw10-designing-http-services-and-restful-interfacesのスライド 48

于 2010-12-20T14:21:20.810 に答える
0
  1. 使用方法の説明から、フルーツ リソースの ID が必要だとは思いません。
  2. 同様に、2 番目の ID も必要ありません。

URL がオブジェクト編成をモデル化している限り、問題ないと思います。

また、私の個人的な感覚では、アプリケーションのニーズを満たすために仕様から少しでも逸脱する必要がある場合を見つけた場合、それは合理的なことです。この種の「モデル」の遵守が仕事の遂行を妨げることを許してはなりません。たとえば、RESTful コンテキストでは、DELETE/PUT/POST/GET 動詞に明確に該当しないいくつかのオブジェクトに関連するアクションを実行することがあります。完璧な RESTfulness を維持するために、それらを滑らかにしますか?

私は今、必然的に私を殴打するであろうRESTfulの教祖/宗教家によって意識を失ってしまわないように、机の後ろに隠れています:)

于 2010-12-20T14:20:55.410 に答える
0

はい、決定論的である限り、すべての URL は安静です。Restful は、使用している http メソッドに関する詳細です (たとえば、削除する場合は DELETE、編集する場合は POST、読み取る場合は GET など)。

于 2010-12-20T14:16:04.653 に答える