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

Web Api Controller中使用Route属性与HttpGet内置路由的区别是什么?

结论

两种写法在常规使用场景下功能完全一致,没有运行时差异。


具体说明

  • 第一种拆分写法:[HttpGet] 特性的作用是限定该 Action 仅响应 HTTP GET 请求,单独声明的 [Route("GetReport")] 特性负责为该 Action 绑定路由模板,二者组合后的效果就是「匹配路径为 GetReport 的 GET 请求」。
  • 第二种合并写法:[HttpGet("GetReport")] 是 ASP.NET Core 提供的语法糖,这个重载方法本身就会同时完成两个操作:限定请求方法为 GET、绑定路由模板为 GetReport,和拆分写法的逻辑完全相同。

哪怕你的控制器上还声明了全局的 [Route] 特性,两种写法的路由拼接规则也完全一致,不会出现路由路径不同的情况。目前官方更推荐第二种合并写法,代码更简洁,能减少冗余的特性声明。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:06:08