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

ASP.NET Core 6中无参数Get接口为何返回404无法访问?

ASP.NET Core 6 无参数Get接口返回404的原因

核心问题是路由路径不匹配:

  • 你的控制器路由是api/[controller](即api/deals),无参数的[HttpGet]没有额外路由模板,所以该方法对应的路由是api/deals。但你浏览器访问的是api/deals/total,这个路径没有匹配的路由规则,因此返回404。
  • Swagger能正常测试是因为Swagger生成的测试地址是正确的api/deals,而非你手动输入的api/deals/total。
  • 带参数的[HttpGet("{par}")]对应的路由是api/deals/{par},当访问api/deals/任意数字时,数字会绑定到int? par参数,因此能匹配到方法并正常返回。

如果要让无参数方法通过api/deals/total访问,只需给[HttpGet]添加路由模板:

[HttpGet("total")]
public int GetTotal()
{
    return 174;
}

修改后该方法的路由变为api/deals/total,与你访问的路径完全匹配,即可正常返回结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 16:30:43