0

RestfulWebサービスがあります。予約室は変更される場合があります。どのURIがより良い解決策ですか?

a) http:// localhost / hotel / Xhotel / Reservation / 15

b) http:// localhost / hotel / Xhotel / Room / 4 / Reservation / 15

c) http:// localhost / hotel / Xhotel / Reservation / 15 / Room / 4

4

4 に答える 4

2

それはあなたの要件にのみ依存します。

たとえば、予約が複数の部屋にまたがることができる場合、オプションb)とc)は完全な予約にアクセスするための適切なURLではありません。

もう1つの質問は、予約IDがすべての部屋で一意であるかどうか、または予約を一意に識別するために部屋IDも必要かどうかです。

于 2009-08-24T12:18:56.877 に答える
0

まず、RESTfulを作成します。RESTは略語です。
次に、予約IDでアクセスする必要があるため、最初のオプションが最適です。
予約(一意キー:予約ID)には多くの部屋(外国キー:予約ID)があります。
2番目のオプションを使用して、特定の部屋の予約を確認します。また、3番目のオプションを使用して、予約の部屋に関するデータを表示できます。

于 2009-08-24T12:30:31.670 に答える
0

リソースの各表現には、単一のURIのみが必要です。予約が重要な部分であり、部屋が変更される可能性がある場合は、URIに部屋番号を含めないでください。ただし、RESTは、その制約に従う限り、URIがどのように見えるかを特に気にしません。

于 2009-08-24T14:08:44.170 に答える
0

問題はURLやURIではありません。問題は、上記の3つの選択肢へのリクエストが、リンクを美化するためだけのものであるか、次のようなリクエストからすべての結果を取得または取得するためのものであるかどうかです。

a)

$_GET['hotel'] = "Xhotel";
$_GET['Reservation'] = 15;

b)

$_GET['hotel'] = "Xhotel";
$_GET['Room'] = 4;
$_GET['Reservation'] = 15;

c)

$_GET['hotel'] = "Xhotel";
$_GET['Reservation'] = 15;
$_GET['Room'] = 4;

これは、あなたが持っている3つの形式のURIから得られるものであり、最後の2つは同じです。

リクエストからのデータを利用する場合は問題ありませんが、そうでない場合は、プログラムが効果なしに大きく見えるだけなので、予約のみを行う場合は最初に提案します

予約IDをホテルのUUIDに基づいてUUIDv3またはv5として作成し、一意にするようにしてください。

于 2015-10-04T07:38:18.877 に答える