2016-04-16 14 views
2

Ich habe einen Controller namens BeconsController, die eine einfache Aktion erhalten hat. Unter Verwendung der Strecke:Route Prefix in ASP.NET 5

app.UseMvc(routes => 
{ 
    routes.MapRoute(
     name: "Default", 
     template: "{controller}/{action}/{id?}"); 
}); 

Routing ist in Ordnung, mit http://locahost/beacons/5 (wobei 5 die ID) Lösung auf die richtige Aktion. Ich möchte jedoch, dass dies unter den "api" -Weg fällt. Ich hatte gedacht, haben dies schriftlich getan werden könnte:

app.UseMvc(routes => 
{ 
    routes.MapRoute(
     name: "Default", 
     template: "api/{controller}/{action}/{id?}"); 
}); 

Aber ich erhält eine 404, wenn mein Browser auf http://locahost/api/beacons/5 zeigt. Tatsächlich funktioniert der alte Pfad auch noch: http://locahost/beacons/5 bringt mich auf die Seite!

Dies sollte einfach sein. Was mache ich falsch?

+0

auch können Sie Attribute verwenden '[Weg ("api/[Steuerung]")] public class CompetitionController: Controller' – Veikedo

+0

Sollten Sie verwenden 'UseMvc' mit einer' api' Route? Diese Route sieht wie eine Web-API-Route aus, und ich würde nicht erwarten, dass "UseMvc" dafür verwendet wird. –

Antwort