2017-01-30 7 views
0

Я работаю над проектом API веб-интерфейса .net. У меня два контроллера, и они имеют одинаковую структуру. Однако один из них работает, но другой дает ошибку 404. Мои фрагменты кода следующим образом:net core web api: один контроллер работает, но другой не

 //mvc routing in the Configure method in the startup class 
     app.UseMvc(routes => 
     { 
      routes.MapRoute(name: "default", template: "api/{controller}/{action}/{id?}"); 
     }); 

и мои контроллеры:

[Route("api/user")] 
public class ManagerController : Controller 
{ 
    //this is working 
    [HttpGet("myitems/{id}")] 
    public IActionResult GetItems(String id){...} 
} 

../api/user/myitems/123 is working 


[Route("api/price")] 
public class HistController : Controller 
{ 

    //this is not working !!! 
    [HttpGet("item/{id}")] 
    private IActionResult GetItemPrice(String id) {...} 
} 

../api/price/item/123 is not working! (404 error) 

Можете ли вы предложить решение?

+1

Почему этот метод 'private'? Измените его на 'public IActionResult GetItemPrice' – Developer

+0

Спасибо @Developer. Я пытался решить проблему на весь уик-энд! – tempx

ответ

0

GetItemPrice способ private. Это должно быть public.