在REST中,两个URL永远不能识别相同的资源吗?

时间:2014-06-17 16:36:49

标签: rest url

我认为单一资源可以通过多个网址来识别。

From

  

可能更好地考虑超媒体API中的资源   代表API响应而不是底层模型   例如,因为这两者的反应显然不同   网址

但上面的引言表明,在REST中,每个URL始终标识不同的资源(因此,两个URL永远无法识别相同的资源)。原因是超媒体API中的资源更好地被认为是代表 API响应而不是底层模型实例,并且考虑到<来自不同网址的em> API响应肯定不相同,结论是两个网址永远无法识别相同的资源

您是否同意在REST中资源应被视为代表 API响应,因此两个URL永远无法识别相同的资源

谢谢

1 个答案:

答案 0 :(得分:2)

tl; dr no - 两个URI可以引用相同的资源

资源&#39;没有任何问题。由多个URI或URI链接&#39;到用户获取它并且服务器计算该值应该是什么之前不存在的虚拟资源。

例如,/schools/5/pupils/thecoshman/pupils/thecoshman相同,它就是我,它只是第一个UIR让你知道(好吧,推测)我在&# 39;学校5&#39;。理想情况下,URI应该以最短的形式返回,所以我说第二个应该代表我。

为什么你会得到那么长的?好吧,如果你打电话给/schools/5/pupils怎么办?这将返回一份“学生”列表。在那所学校(虽然可能不仅仅是这样的一个清单)。

/schools/5/pupils/thecoshman
/schools/5/pupils/bckpwrld

虽然如上所述,您应该链接到资源的最短(在层次结构方面)URI,因此请删除&#39; / schools / 5&#39;字首。用户只是从/ schools / 5 / pupils /.

获取此数据