Ich bin verrückt hier ... das scheint wie eine sehr einfache Aufgabe. Zunächst einmal kenne ich nur die Grundlagen der Web Api und MVC - also bitte spieß mich nicht auf.ASP.NET Web Api Controller Unterordner Routing
In dem Projekt muss ich Controller-Unterordner (für Organisationszwecke) logisch erstellen. Ich hatte das Gefühl, es war nicht so einfach wie ich dachte. Ich habe die Standardroute wie folgt:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Welche funktioniert wie es sollte direkt aus dem Ordner Controller in meinem Projekt. Ich habe einen Unterordner in den Controllern Ordner Controller/Berichte hinzugefügt. Ich habe ziemlich viel gesucht und kann einfach keine Lösung finden. Wie kann ich eine Route hinzufügen, die zum Unterordner führt? Ich habe versucht:
config.Routes.MapHttpRoute(
name: "ReportingApi",
routeTemplate: "api/Reports/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
und:
config.Routes.MapHttpRoute(
name: "ReportingApi",
routeTemplate: "api/Reports/{id}",
defaults: new { controller = "userunit" id = RouteParameter.Optional }
Routing verwendet nicht das Dateisystem, es leitet zu Controller-Aktionen. –
Aber müssen Sie nicht irgendwann einen Pfad angeben, wenn sich ein Controller in einem Unterordner befindet? Es findet nicht nur, dass es das tut? –
Per Konvention sucht das Framework nach Controllern im Ordner 'Controller', aber darüber hinaus werden keine Pfade gesucht. Warum müssen Sie für jeden Controller einen Unterordner erstellen? Wenn Sie möchten, können Sie mit dem Routing experimentieren, um die URLs genau richtig zu bekommen, wenn Sie danach suchen. –