Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在REST中将类型重定向到子类型URI是个坏主意吗?_Rest - Fatal编程技术网

在REST中将类型重定向到子类型URI是个坏主意吗?

在REST中将类型重定向到子类型URI是个坏主意吗?,rest,Rest,我有几种不同的实体类型,但有时可以以通用的方式使用。作为一个例子,考虑这些实体:文章,幻灯片> /代码>,代码>日历>代码>它们都是不同的,但是它们都可以被认为是一个页面的可嵌入部分,一个代码>窗口小部件< /代码>。 我需要设计一套API URI。显然,我可以选择widgets/123或articles/123 如果我遵循in的建议,我最终会得到widgets/123。然而,我不认为这个答案反映了我的情况 例如,考虑小部件/ 123 /照片< /代码>。这是特定于幻灯片放映,对于日历(对于文章

我有几种不同的实体类型,但有时可以以通用的方式使用。作为一个例子,考虑这些实体:<代码>文章<代码>,<代码>幻灯片> /代码>,代码>日历>代码>它们都是不同的,但是它们都可以被认为是一个页面的可嵌入部分,一个代码>窗口小部件< /代码>。 我需要设计一套API URI。显然,我可以选择
widgets/123
articles/123

如果我遵循in的建议,我最终会得到
widgets/123
。然而,我不认为这个答案反映了我的情况

例如,考虑<代码>小部件/ 123 /照片< /代码>。这是特定于

幻灯片放映
,对于
日历
(对于
文章
)没有任何意义。我更喜欢
幻灯片/123/照片
日历/345/事件

然而,仍有一些情况下,您希望将所有这些内容作为
小部件
列表获取,而不太关心单个类型


如果我为小部件列表提供了一个
widgets/
端点,但是使用
308永久重定向将
widgets/123
请求重定向到
calendars/123
articles/123
会有任何问题吗?

重定向是有成本的;在您的情况下,这可能重要,也可能不重要。@Sean我已经考虑过了,但在我的用例中似乎还可以。如果您对服务器和客户端代码都有完全的控制权,我通常会选择保持简单,而不必担心额外的复杂性(如重定向)。