在.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:
https://stackoverflow.com/questions/79208910/cors-error-when-using-swagger-openai-in-net-9-aspire-application
来源链接:https://www.cnblogs.com/Dr-Harrison-Wells/p/18722912
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容