我应该如何创建/ api / resource / identifier / resource / identifier这样的URL

时间:2017-04-03 08:51:04

标签: node.js rest

我有一个页面,其中包含每个类别的商品类别和页面。我应该如何划分我的api端点?

使用这样的东西是正确的:

'/ API /类别'

'/ API /类别/:的categoryId'

'/ API /类别/:的categoryId /货物'

'/ API /类别/:的categoryId /产品/:ITEMID'

或者我应该使用如下结构:

'/ API /类别'

'/ API /类别/:的categoryId'

'/ API /货物'

'/ API /产品/:ITEMID'

1 个答案:

答案 0 :(得分:0)

两个答案都是正确的。这样的问题通常没有明确的答案。您可以使用一种类型的URL,也可以使用其他样式,或者甚至可以使用两种URL或重定向的相同资源使用它们。

/api/categories/:categoryId/goods/:itemId的样式具有良好的层次结构和URL本身的更多信息。

/api/goods/:itemId的风格具有以下优势:能够更轻松地在类别之间移动商品,甚至支持每个项目的多个类别或将来添加标签等。

这真的是你必须自己决定的事情,不仅要根据你自己看起来更好的URL做出决定,还要考虑你对自己开发的API的特定用法 - 例如,改变类别的可能性,或者在不知道类别的情况下访问商品的可能性。

我建议阅读Stormpath发布的有关API设计的教程。参见:

我特别推荐观看Les Hazlewood的演讲,你可以在Stormpath网站上找到,因为他解释了很多这样的微妙话题。