2015-02-08 50 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)); 
} 
相关问题