首页 > 解决方案 > 在 Web api 项目上更改主控制器

问题描述

我创建了一个小型 web api 项目。编辑:当我在 Visual Studio 2019 中创建一个新的 WEBAPI 项目时,这些是可用的选项。我无法取消选中复选框中的“MVC”。

在此处输入图像描述

我删除了家庭控制器。现在我打算将默认网页指向帮助控制器,所以我对RouteConfig.cs文件进行了更改。现在我在RegisterRoute函数中的代码读取。

编辑:我对我的问题投了赞成票。不知道为什么。所以我从我的项目中添加了整个 RegisterRoute 函数。请注意,这是默认项目模板,如果您有 VS2019 IDE 供您使用,问题很容易重现。

public static void Register(HttpConfiguration config)
{
    // Web API configuration and services

    // Web API routes
    config.MapHttpAttributeRoutes();



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

RouteConfig.cs 中的 RegisterRoute

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
}

运行此项目时,我仍然不断收到资源未找到页面。我正在从 Postman 测试的所有方法都有效。

标签: c#asp.net-web-apiasp.net-web-api-routingvisual-studio-2019

解决方案


尝试这个

routes.MapRoute(
name: "Help",
url: "{controller}/{action}",
defaults: new { controller = "Help", action = "Index" }
);

当你提到默认的动作方法时,不需要给控制器名称和动作方法。只需给出您想要的默认方法的名称。


推荐阅读