调用本地ASP.NET Core Web API时出现304 Not Modified错误求助
问题分析与解决
核心错误:请求路径不匹配
你的API控制器路由和实际请求路径不一致,导致请求没有命中接口,转而触发了SPA的 fallback 规则返回React页面,再加上浏览器缓存出现304状态码。
具体问题点
控制器路由配置:
你的WeatherForecastController上标注了[Route("[controller]")],且Get方法只加了[HttpGet],这意味着该接口的正确请求路径是GET /WeatherForecast,而不是你调用的/WeatherForecast/Get。SPA fallback 规则:
Program.cs中配置了app.MapFallbackToFile("index.html"),当任何请求没有匹配到控制器路由时,都会返回React的首页,这就是你收到React页面内容的原因。
两种修正方案
方案一:修改请求URL
把fetch的请求地址改成正确的接口路径:
let options = { method: 'GET' } const response = await fetch("https://localhost:44482/WeatherForecast", options);
方案二:修改控制器路由
如果希望保留/WeatherForecast/Get的请求路径,给Get方法添加路由特性:
[HttpGet("Get")] public IEnumerable<WeatherForecast> Get() { // 原有代码不变 }
验证
修改后用Postman请求对应的URL,就能正常获取WeatherForecast数据,不会再返回React页面或304错误。
内容的提问来源于stack exchange,提问作者Slava Podolskiy
相关产品推荐
相关产品推荐

