c# - 在 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 测试的所有方法都有效。
解决方案
尝试这个
routes.MapRoute(
name: "Help",
url: "{controller}/{action}",
defaults: new { controller = "Help", action = "Index" }
);
当你提到默认的动作方法时,不需要给控制器名称和动作方法。只需给出您想要的默认方法的名称。
推荐阅读
- acumatica - 对于 acumatica,如何将 FormTab 中两个网格列的值相加并将该值分配给 FormTabs 区域上方的字段?
- slickgrid - 如何在 aurelia slickgrid 的 odata 后端更新过滤器
- swift - 是否对具有关联值的枚举案例进行速记布尔检查?
- spring - Spring @ControllerAdvice/@ExceptionHandler 不起作用
- javascript - 在 React/Node 项目中查找所有硬编码的字符串
- node.js - 将基于 Go-Swagger 的 API 与 Zapier 集成时出现错误 400
- android - 如何使用 OkHttpClient 真正断开与 WebSocket 的连接?
- python - 无法在不指定主键的情况下更新文档
- discord - @commands.has_permissions(administrator=True) 不能正常工作?
- python - “日期时间”列上的最小值和最大值在熊猫中未显示正确结果