RESTful路由分组算法
|
给定一个已知为“ RESTful”的URL列表,将它们分组以使映射到同一“控制器/动作/视图”的URL可能被分组在一起的合适算法是什么?
例如,给出以下列表:
http://www.example.com/foo
http://www.example.com/foo/1
http://www.example.com/foo/2
http://www.example.com/foo/3
http://www.example.com/foo/1/edit
http://www.example.com/foo/2/edit
http://www.example.com/foo/3/edit
会将它们分组如下:
http://www.example.com/foo
http://www.example.com/foo/1
http://www.example.com/foo/2
http://www.example.com/foo/3
http://www.example.com/foo/1/edit
http://www.example.com/foo/2/edit
http://www.example.com/foo/3/edit
URL的顺序或结构尚不清楚。在我的示例中,这很容易,因为ID显然是数字。理想情况下,我希望即使ID是非数字(如http://www.example.com/products/rocket
和http://www.example.com/products/ufo
),算法也能很好地完成工作。
这实际上只是在说一句,“鉴于这些URL,我通过删除我认为是URL的“变量” ID部分的内容对它们进行了分组。”
没有找到相关结果
已邀请:
2 个回复
痴浪墨
由于我们不了解URL语义,因此可以将这些方法分为几种同样好的方法。这实际上可以归结为这个问题-这是REST描述符的URL部分还是参数。如果我们知道所有的描述符是什么,剩下的就是参数,我们就完成了。 给出足够大的数据集,我们希望查看每个深度的所有URL的统计信息。例如/ x / y / z / t /。我们将计算每个时隙中的出现次数,并生成一个大的联合概率分布表。 现在我们可以看看符号的分布。插槽中的高计数意味着它很可能是一个参数。我们将从底部开始,寻找条件概率事件,即x是foo的概率是多少,然后x是给定x的概率y是什么,依此类推。等等。我必须更多地考虑以确定系统地提取它们的方法,但这似乎是一个开始
骂狮淋唐便
将得到数组
如果两个数组(URL)在除一个之外的所有指标中共享相同的值,则它们将在同一组中。 例如
=
和
=
。数组在所有索引中匹配,但#3除外,#3在第一个数组中为1,在第二个数组中为2。因此,URL属于同一组。 很容易看出,根据此算法,像
和
这样的网址将不属于同一组。