无法通过邮递员调用除默认控制器之外的任何web api控制器

时间:2017-08-03 12:05:48

标签: asp.net-web-api2

我正在开发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 }
        );
    }

我想在任何地方注册我的控制器?或者可能是什么问题。

0 个答案:

没有答案