所以这真的让我很头疼。
路线:
config.routes.MapHttpRoute(
name: 'ControllerAction' ,
routeTemplate: "api/{controller}/{action}"
);
控制器:
public class LookupsController : ApiControllerBase
{
[ActionName("all")]
public Lookups GetLookups()
{
var lookups = new Lookups
{
Customers = GetCustomers().ToList(),
//add more
};
return lookups;
}
}
但是每当我尝试点击 uri: /api/lookups/all 时,我都会收到 404 错误消息:
“在与名称‘all’匹配的控制器‘查找’上没有找到任何操作。”
任何帮助,将不胜感激
编辑:所以我终于想通了。这是因为错误的依赖。VS2012 将动作自动解析为 system.web.mvc.actionnameattribute,而我需要的是 system.web.http.actionnameattribute。
奇怪的问题,无论如何,我希望这对其他人有帮助。