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

ASP.NET WEB API控制器方法路由路径合并异常问题咨询

问题原因及解决办法

问题出在你HttpGet特性里的路由模板开头的斜杠/。

在ASP.NET Core中,当路由模板以/开头时,会被当作绝对路由,完全忽略控制器类上定义的[Route("api/[controller]")]前缀,所以最终路由直接变成了/user/{userId:guid},而不是和控制器前缀拼接后的路径。

解决方法很简单,把HttpGet里的开头斜杠去掉即可:

[HttpGet("user/{userId:guid}")]
public async Task<ActionResult<ApiResponse<IEnumerable<Appointment>>>> GetUserAppointments([FromRoute] Guid userId) {}

修改后,路由会自动和控制器的api/[controller]前缀拼接,最终生成你期望的/api/appointment/user/{userId:guid},Swagger UI里也会显示正确的路由。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 09:35:01