2016-04-10 19 views
0

ASP Çekirdeğinde yolları yapılandırmada sorun yaşıyorum. services.AddMvc()ConfigureServices() ve Configure() yılında app.UseMvc(): ASP Çekirdeğinde rota yapılandırması

Startup.cs ben öntanımlı olarak kullanılacak.

Şimdi aynı derlemede basit denetleyicisi vardır:

[Route("/api/[controller]")] 
public class TestController: Controller 
{ 
    [HttpGet] 
    public string Test() 
    { 
     return "Hello"; 
    } 
} 

İsteği /api/test/test

patlamaz Ama [HttpGet("test")] veya [Route("test")] eklerseniz iyi çalışıyor. Dava rota özelliğinde yapılandırma yerine kurallar desteklemek istiyorum Ancak

cevap

3

belirtilmemişse kullanmayı deneyin:

[Route("api/[controller]/[action]")] 
+0

Bu yaklaşım denediğimden çok garip. Diğerlerinden herhangi biri. Teşekkürler – deeptowncitizen

0

Eğer Kontrolör, Startup.cs yapılandırılan varsayılan yönlendirme için [Route("/api/[controller]")] ek açıklama eklediğinizde olacak Bu Denetleyiciyi yoksayın.

[Route("/api/[controller]")] 
public class TestController: Controller 
{ 
    [Route("test")] 
    [HttpGet] 
    public string Test() 
    { 
     return "Hello"; 
    } 
} 

Ya yönlendirme eylemi kullanması gerektiğini Kontrolör annotaion içinde belirtin:

Yani ya üstlerindeki [Route("")] özellik ekleyerek o Kontrolör içerisindeki eylemler her için URL son ekini belirtmeniz gerekir URL'nin bir parçası olarak isimleri:

[Route("/api/[controller]/[action]")] 
public class TestController: Controller 
{ 
    [HttpGet] 
    public string Test() 
    { 
     return "Hello"; 
    } 
}