You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 6 Web API路由无法命中,请求排查问题原因

问题原因及解决办法

核心问题:路由路径配置错误

你的Test方法使用了绝对路由:[HttpGet("/Test")],其中开头的斜杠/表示该路由是基于网站根路径的独立路由,不会和控制器上的api/[controller]路由模板拼接。所以正确的请求地址应该是:

https://localhost:5001/Test

你尝试的所有带api/account的地址都不符合这个路由规则,自然返回404。

其他可能的排查方向

  • 检查路由注册配置:确保在Program.cs(或Startup.cs)中正确注册了控制器路由。比如在Program.cs里要有:
    app.MapControllers();
    
    如果是旧版Startup.cs,要在Configure方法里添加:
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
    
    没有这一步,API控制器的路由不会被识别。
  • 确认控制器基类:确保控制器继承的是ControllerBase(Web API专用基类),而不是MVC的Controller类,你的代码里已经正确继承,但如果项目转换时有遗漏需要检查。
  • 检查路由大小写设置:ASP.NET Core默认路由不区分大小写,但如果项目中手动配置了区分大小写(比如services.AddRouting(options => { options.LowercaseUrls = true; options.LowercaseQueryStrings = true; })),可作为后续排查点,但这不是当前404的主要原因。

内容的提问来源于stack exchange,提问作者nightwolf555

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 20:13:22