Blazor WASM Hosted-具有无效路由的API调用返回200



我的服务器程序.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响应。

最新更新