.NET 6控制器路由配置问题:API调用返回404无法访问
日历Web应用API 404问题排查方案
- 核对控制器与方法的路由配置
- 检查控制器类上的
[Route]属性,比如如果控制器是PostController,类上标注[Route("api/[controller]")],那基础路由是/api/post;若方法上额外加了路由片段(如[HttpPost("submit")]),完整请求地址应为/api/post/submit,需确保调用地址和配置完全匹配
- 检查控制器类上的
- 确认项目运行端口
- 查看launchSettings.json文件中的端口配置,保证调用URL里的
****和项目实际启动的端口一致
- 查看launchSettings.json文件中的端口配置,保证调用URL里的
- 验证CORS配置(前端跨域场景)
- 后端需配置允许前端域名的CORS策略,否则跨域请求可能因CORS校验失败,表现为404错误
- 检查API方法的访问权限
- 确保控制器中的API方法是
public修饰符,私有方法无法被路由系统识别
- 确保控制器中的API方法是
- 匹配请求方法类型
- 确认Postman和fetch使用的请求方法(如POST/GET)与API方法上的
[HttpPost]/[HttpGet]属性完全对应,方法不匹配会返回404
- 确认Postman和fetch使用的请求方法(如POST/GET)与API方法上的
- 开启路由调试日志定位问题
- 在Program.cs中添加路由调试日志配置,查看路由匹配细节:
builder.Logging.AddFilter("Microsoft.AspNetCore.Routing", LogLevel.Debug);
- 在Program.cs中添加路由调试日志配置,查看路由匹配细节:
内容的提问来源于stack exchange,提问作者lifelsgood
相关产品推荐
相关产品推荐

