Ich möchte eine RESTful API für meine Blog-Anwendung erstellen, aber ich kann nicht sagen, wie man Controller wie diese zuordnen.
Wie kann man das machen? Sollte Post im URL-Muster fest kodiert sein?
Antwort
Zu viele Anzeigen?Sie könnten eine Route wie folgt planen:
routes.MapRoute(
"ShowComments", // Route name
"Post/{id}/Comments/{action}", // URL with parameters
new { controller = "CommentsController", action = "Show" } // Parameter defaults
);
Es ist nichts falsch daran, URLs fest zu kodieren, es sei denn, alles, was Sie hinzufügen, benötigt fest kodierte URLs und sie werden unwartbar.
Was ich verstehe, ist, dass Sie CommentsController nur über diese Route aufrufen möchten. Sie wollen nicht, dass er von der Standardroute aufgerufen wird. Sie können verwenden IgnoreRoute
dafür.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute(“Comments/{action}/{id}”);
}
Dadurch wird sichergestellt, dass CommentsController nicht ohne die zuvor definierte Route aufgerufen wird. Ich hoffe, das war das, was Sie zu tun versucht haben.