默认创建的Blazor Webassembly hosted项目,在Server端设置启用权限功能后,未登陆情况下访问api会返回302重定向,重定向到/Account/Login页面,这并不是我们想要的
可以设置Webassembly端的HttpClient,增加Header X-Requested-With:XMLHttpRequest
在Webassembly端的Program.cs
中,修改:
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress)});
修改为:
builder.Services.AddScoped(sp => {
var httpClient = new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) };
httpClient.DefaultRequestHeaders.Add("X-Requested-With", "XMLHttpRequest");
return httpClient;
});
这样就会返回401错误码