我正在开发web api,我添加了一个名为Default的控制器,还添加了另外两个控制器,其他名称如“mapping”和“Demo”。在通过邮递员调用我的api的时候,它并没有打到api。它扔我了
“消息”:“找不到与请求URI匹配的HTTP资源 'http://localhost:42457/api/Demo'。“, “MessageDetail”:“找不到与名为'Demo'的控制器匹配的类型。”。
我感到很震惊,因为当我打电话给默认控制器时,它正确地击中并检索我确切的数据。
我确信在调用我的Mapping和Demo控制器时,我会给出正确的名称。
演示控制器结构
public DemoController : ApiController
{
// GET: api/Demo
public IEnumerable<string> Get()
{
return new string[] { "meena1", "meena2","meena3" };
}
}
默认控制器结构是
public class DefaultController:ApiController {
// GET: api/Default
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2"};
}
}
我的映射控制器结构是
public class MappingController : ApiController
{
// GET: api/Default
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2"};
}
}
我的webapi.config结构是
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
我想在任何地方注册我的控制器?或者可能是什么问题。