【发布时间】:2009-03-09 06:32:31
【问题描述】:
我将很快推出一个新网站。该网站的一个部分包含产品。
我目前正在尝试为 ASP.NET 路由选择不同的 URL:
**产品:**
/products/1001
/products/sku/1001
/products/product/1001
/products/view/1001
**类别:**
/products/category/cats
/products/category/clothing
/products/cats - this is pretty nasty
/products/clothing
我主要是想决定我应该采用以下哪一项。 我目前正在做第一个。
routes.MapRoute(
"product-route-short",
"products/{sku}",
new { controller = "Products", action = "ViewProduct", sku = "1001"}
);
或
routes.MapRoute(
"product-route-short",
"products/sku/{sku}",
new { controller = "Products", action = "ViewProduct", sku = "1001"}
);
或以下之一
* call the action 'sku' , 'details' , 'item'
* use an [ActionName] attribute and leave the action method name as 'ViewProduct'
我真的很喜欢/products/1001 的简单性,因此用户可以看到并更改它 - 但如果我不小心,它很快就会与其他操作发生冲突。我还必须确保在创建我的 URL 时使用 'product-route-short',这是一个非常小的痛苦。
有人怎么想?您发现最佳实践是什么?这个例子非常简单,但我当然希望在整个网站上保持一致,并且不想在 Google 已经为我索引所有内容后对所有内容进行改造。
如果有任何关于该主题(一般或特定于 ASP.NET)的特别好的播客或文章,我会很感激它们的链接。我找到了一个很好的播客,他们特别说的一件事是“这个播客不是关于如何创建良好的 REST 链接”
【问题讨论】:
标签: asp.net-mvc rest