我在将 ASP.NET Core Web API 部署到 IIS 时遇到问题。我无法使用
'/scalar/v1'
一切都只是白色来访问标量 UI。
当我在本地运行它时,一切正常,我可以直接测试我的API或使用Postman。它只是在部署到 IIS 时发生。
Program.cs
builder.Services.AddSwaggerGen();
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger(options =>
{
options.RouteTemplate = "/openapi/{documentName}.json";
});
app.MapScalarApiReference(options =>
{
options.Title = "My - API";
});
}
app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();
app.MapControllers();
app.Run();
我尝试包含和删除环境检查,因为this被检查为答案,但我仍然遇到同样的问题
// Configure the HTTP request pipeline.
//if (app.Environment.IsDevelopment() || app.Environment.IsProduction())
//{
app.UseSwagger(options =>
{
options.RouteTemplate = "/openapi/{documentName}.json";
});
app.MapScalarApiReference(options =>
{
options.Title = "CPS - API";
});
//}
您应该删除 Swagger 并添加
MapOpenApi
。使用这样的东西
if (app.Environment.IsDevelopment())
{
app.MapOpenApi();
app.MapScalarApiReference(options =>
{
options
.WithTitle("CPS - API");
});
}