Ich werde bald eine neue Website starten. Ein Abschnitt der Website enthält Produkte.Fallstricke, die vom Format der {controller}/{aktion}/{id} -REST-URL für ASP.NET MVC abweichen?
ich derzeit zwischen verschiedenen URLs für die ASP.NET-Routing zu entscheiden, ich versuche:
** Produkte: **
/products/1001
/products/sku/1001
/products/product/1001
/products/view/1001
** Kategorien: **
/products/category/cats
/products/category/clothing
/products/cats - this is pretty nasty
/products/clothing
Ich versuche in erster Linie zu entscheiden, welches der folgenden Dinge ich übernehmen sollte. Ich mache gerade das erste.
routes.MapRoute(
"product-route-short",
"products/{sku}",
new { controller = "Products", action = "ViewProduct", sku = "1001"}
);
oder
routes.MapRoute(
"product-route-short",
"products/sku/{sku}",
new { controller = "Products", action = "ViewProduct", sku = "1001"}
);
oder eine der folgenden
* call the action 'sku' , 'details' , 'item'
* use an [ActionName] attribute and leave the action method name as 'ViewProduct'
Ich mag die Einfachheit der /products/1001
so kann der Benutzer sie sehen und verändern - aber es ist schnell eine Gefahr davon im Widerspruch zu anderen Aktionen, wenn ich nicht vorsichtig bin. Ich muss auch sicher sein, 'product-route-short'
zu verwenden, wenn ich meine URLs erstelle, die ein sehr kleiner Schmerz sind.
Was denkt jemand? Wofür haben Sie eine Best Practice gefunden? Dieses Beispiel ist ziemlich einfach, aber ich möchte natürlich überall auf der Website konsistent sein und möchte nicht alles nachrüsten, wenn Google bereits alles für mich indiziert hat.
Wenn es besonders gute Podcasts oder Artikel zum Thema gibt (allgemein oder spezifisch für ASP.NET), würde ich mich über Links zu ihnen freuen. Ich fand einen guten Podcast, wo eine Sache, die sie speziell gesagt haben, war, dass "dieser Podcast NICHT dazu dient, gute REST-Links zu erstellen"
Ich mag das tun Tatsache, dass alles, was nach dem final ist/ignoriert wird - was es einfach macht, URLs zu kopieren und vergangen zu sein und immer noch weiß, worauf sie sich beziehen. Sie können auch den Titel der Frage ändern und bestehende Links werden nicht unterbrochen –