我的服务器程序.cs:
WebApplication app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseWebAssemblyDebugging();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseBlazorFrameworkFiles();
app.UseStaticFiles();
app.UseRouting();
app.MapControllers();
app.MapFallbackToFile("index.html");
app.Run();
当调用不存在的API路由时,我得到200响应,然后是Json无效响应:
System.Text.Json.JsonException:'<'是一个值的无效开头。路径:$|LineNumber:0|BytePositionInLine:0。
我的理解是,这是因为行:
app.MapFallbackToFile("index.html");
这使得服务器在未找到路由的情况下路由到此html页面。
基于这个问题,我尝试了各种各样的解决方案,但都无济于事。
所以,我恢复到上面的原始代码,然后删除了行:
app.MapFallbackToFile("index.html");
然而,对于无效的API路由,我仍然得到OK响应,所以当我尝试以Json的身份读取响应内容时,我仍然会得到JsonException。
我做错了什么?
Pft!
我链接到DO WORK的问题的解决方案!
我的浏览器已经缓存了原始api URI的响应,所以即使在对服务器Program.cs进行更改后,我的请求也一直返回缓存的Index.html响应。