Api控制器

时间:2017-03-12 07:20:40

标签: c# asp.net asp.net-web-api

网址:http://localhost/WebApp/api/values,这是在iis 10中保留的。

404 error for api controllers Directory structure Global.asax.cs

仅针对api控制器获取此错误。检查配置都很好。我也创建了另一个api项目和相同的错误。

3 个答案:

答案 0 :(得分:1)

您应该在WebApiConfig.cs的Register方法中将WebApi路由配置为

public static void Register(HttpConfiguration config)
{
    config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );
}

然后在Application_Start中将此方法称为

WebApiConfig.Register(GlobalConfiguration.Configuration);

此外,您的Controller应继承自ApiController

我建议在Controllers文件夹中创建一个名为Api的文件夹,并添加所有WebApi控制器,使其与Non WebApi控制器分开。

答案 1 :(得分:0)

嘿Debasis我也在使用web api,我多次遇到同样的错误。我发现错误背后的原因是我打电话给' httpPOST'鉴于api,而#,httpPOST'用于插入或更新数据库中的数据。 我认为你也遇到了同样的问题,我的建议是创建一个' httpGET'同样的api并称之为“httpGet'用api代替httpPost'。 我希望这能解决你的问题。

答案 2 :(得分:-1)

嘿,大家好,谢谢你的支持。问题在于路由。因为我为api创建了虚拟目录localhost/WebApp/api,并且路由已配置为api/{controller}/{id}。所以它无法在localhost/WebApp/api/values找到值api控制器。