2015-02-08 48 views
0

我有我的WebApiConfig 2個簡單的路由匹配:簡約路線:沒有HTTP資源發現,請求URI

config.Routes.MapHttpRoute(
name: "Speaker", 
routeTemplate: "api/presentations/{presentationid}/speakers/{id}", 
defaults: new { controller = "speakers", id = RouteParameter.Optional } 
); 

config.Routes.MapHttpRoute(
name: "Presentations", 
routeTemplate: "api/presentations/{id}", 
defaults: new { controller = "presentations", id = RouteParameter.Optional } 
); 

我不能去上班第一條路。我有一個一SpeakersController獲取:

IEnumerable<SpeakerModel> Get(int presentationid) 
{ 
return _speakerService.GetSpeakersByPresentationId(presentationid).Select(s => _modelFactory.Create(s)); 
} 

當我打電話:http://localhost/Api/Presentations/1/Speakers通過GET請求我得到這個錯誤:

「消息」: 「沒有HTTP資源發現,請求URI 'http://localhost/Api/Presentations/1/Speakers' 匹配」 , 「MessageDetail」:「在控制器'發言者'上找不到與請求匹配的操作。」

回答

0

我的方法沒有公共訪問修飾符。

**public** IEnumerable<SpeakerModel> Get(int presentationid) 
{ 
return _speakerService.GetSpeakersByPresentationId(presentationid).Select(s =>  _modelFactory.Create(s)); 
} 
相關問題