2009-08-24 86 views

回答

2

只取决于你的需求。

例如,如果预订可以跨越多个房间,则选项b)和c)将不会成为访问完整预订的良好URL。

另一个问题是,如果您的预订ID在所有房间中都是唯一的,或者需要房间ID以及唯一标识预订。

+0

然后,如果我选择了选项a),我应该如何建立房间和预订之间的关系? – Iguramu 2009-08-24 12:31:42

+0

请参阅下面的答案。 – 2009-08-24 12:32:19

0

首先你写RESTful。 REST是一个缩写。
其次,你应该通过Reservation ID访问它们,所以第一个选项是最好的。
预约(唯一密钥:预约ID)有许多房间(Forign Key:预约ID)。
使用第二个选项查看特定房间的预订情况。 您也可以使用第三个选项来显示预订中的房间数据。

+0

如果您检查此网站:http://stackoverflow.com/questions/207477/restful-url-design-for-search。正如你所看到的,汽车和车库之间有一种关系。所以我认为,如果车库/ yyy /汽车是更好的选择,所以房间/ 4 /预订/ 15也是。 – Iguramu 2009-08-24 12:47:49

+0

这只是我的两分钱,你应该做任何你认为正确的事情。 – 2009-08-24 12:58:59

0

资源的每种表示只能有一个URI。如果预订是重要的部分,并且房间可以更改,则不要在URI中包含房间号。然而,只要你遵守约束条件,REST并不特别关心你的URI是什么样的。

0

的问题是不是URL或URI,问题是如果要求这3个选择,你上述仅仅是美化LINK或者你去抓住或类似的请求得到的所有结果:

一个)

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

b)

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

三)

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

这是我们可以从你的URI的3格式获得和最后2个是相同的。

如果您打算利用从它是好的,请求的数据,如果不是这样只会让你的程序看起来没有效果所以我建议第一大,如果你这样做只是预订

尝试根据酒店UUID将预订ID设置为UUID v3或v5,以使其具有唯一性。

相关问题