我有一个页面,其中包含每个类别的商品类别和页面。我应该如何划分我的api端点?
使用这样的东西是正确的:
'/ API /类别'
'/ API /类别/:的categoryId'
'/ API /类别/:的categoryId /货物'
'/ API /类别/:的categoryId /产品/:ITEMID'
或者我应该使用如下结构:
'/ API /类别'
'/ API /类别/:的categoryId'
'/ API /货物'
'/ API /产品/:ITEMID'
答案 0 :(得分:0)
两个答案都是正确的。这样的问题通常没有明确的答案。您可以使用一种类型的URL,也可以使用其他样式,或者甚至可以使用两种URL或重定向的相同资源使用它们。
/api/categories/:categoryId/goods/:itemId
的样式具有良好的层次结构和URL本身的更多信息。
但/api/goods/:itemId
的风格具有以下优势:能够更轻松地在类别之间移动商品,甚至支持每个项目的多个类别或将来添加标签等。
这真的是你必须自己决定的事情,不仅要根据你自己看起来更好的URL做出决定,还要考虑你对自己开发的API的特定用法 - 例如,改变类别的可能性,或者在不知道类别的情况下访问商品的可能性。
我建议阅读Stormpath发布的有关API设计的教程。参见:
我特别推荐观看Les Hazlewood的演讲,你可以在Stormpath网站上找到,因为他解释了很多这样的微妙话题。