.NET Aspire中的scalar返回NetworkError when attempting to fetch resource 如何解決
在.NET Aspire中使用swagger或者scalar做測試時發現,無論哪個API接口,返回的結果都如下圖所示(NetworkError when attempting to fetch resource):

這個問題是由于.NET Core在使用OpenApi時沒有轉發正確的網絡地址導致的
正確的地址(端口號7234):

scalar中的地址(錯誤端口號10050):

可以通過添加配置,從而正確轉發網絡地址(端口號7234):
app.MapScalarApiReference(options => options.Servers = []);

另一種方式是使用跨域解決該問題:
builder.Services.AddCors(options =>
{
options.AddPolicy("GetorPost",
builder =>
builder.AllowAnyOrigin().WithMethods("GET", "POST")
.AllowAnyHeader());
});
-------------分割線(省略部分代碼)-----------
app.UseCors("GetorPost");
但是這樣做并不會顯示正確的地址,只是在測試時會返回正確的結果。因此,優先選擇第一種方式。
可以在github中找到相似的問題:
https://github.com/dotnet/aspnetcore/issues/57332#issuecomment-2479286855
或者是stackoverflow:

浙公網安備 33010602011771號