URL-Routing mit WEB-API und im Bereich MVC5
Arbeite ich an einer MVC 5-Anwendung. Ich habe einen Bereich erstellt namens Organization
. Ich habe auch einen (API) Ordner im Controller-Ordner von diesem Bereich. Also meine Struktur haben wie
/Areas/Organization/Controllers/API/OrganizationAPI
Wo OrganizationAPI
ist API-Controller für Organization
Bereich. Nun mein problem ist bezüglich Routing in MVC. Ich bin nicht in der Lage zu finden, über welche URL ruft mein API.
Habe ich versucht mit dieser URL
http://localhost:80/Organization/API/OrganizationAPI/getData
wo getData
ist Meine action Methode. Aber es sagt Ressource nicht gefunden. Kann jeder bitte helfen Sie mir zu verstehen, dass wie kann ich meine eigenen Strecken, so dass ich kann anzeigen, dass meine Handlungen mit URLs und auch empfehlen Sie mir einige Referenz-URL für URL-Routing in MVC 4 oder höher.
- Dieser link kann Ihnen helfen: netmvc.blogspot.com/2012/06/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Ihr Projekt enthält bereits eine WebApiConfig.cs-Datei, Super!!! Sie müssen nur fügen Sie eine route wie unten:
Den Standard-Routen erstellt für API-Controller nicht in Betracht nehmen die Methode name (getData in Ihrem Fall), nicht wie in regulären Controller. Es hängt von der http-Methode (get/post/put/delete) und die Parameter, die Sie senden, die action-Methoden sollte zu Beginn gleiche wie die http-Methode name (z.B. getData aufgerufen wird, wenn die Methode get verwendet wird).
können Sie eine eigene route zu rufen Aktionen auf api-controller durch den Namen.
So zu nennen, um die Daten, die Methode, die url sollte so Aussehen: Area/API/Controller, fügen Sie nicht den Namen der Methode.
Können Sie nur erstellen, eine andere route zu emulieren Bereichen, aber das funktioniert nicht gut mit dem "namespace" - Konzept nur: Sie werden sehen, dass Controller in einem Bereich zugänglich sein wird, aus anderen Bereichen. Das ist, weil "FLÄCHE" ist nicht wirklich in Anzahl in Web-API MVC routing wird.
Daher, wenn Sie über Controller mit gleichen Namen in verschiedenen Bereichen wird, wird eine Ausnahme geworfen:
Die Lösung für mich war nach dieser eleganten workaround von Martin Devillers Blog:
http://blogs.infosupport.com/asp-net-mvc-4-rc-getting-webapi-and-areas-to-play-nicely/
SoFarSoGood!