Swagger UI on '.net Core hosted' Blazor WASM 解决方案 Web API 项目



我在Blazor WebAssembly解决方案上使用'.net Core hosted'选项。

这将为您创建一个.net核心Web API项目,作为解决方案的一部分。

如果我自己创建并启动这个项目,它将启动API的Swagger UI接口。如果我在".net Core托管"Blazor应用程序中启动服务器项目,它会启动客户端应用程序(如预期(。

如何获取Web API服务器应用程序的Swagger UI?(用于测试API(。

我在谷歌上找不到任何关于这件事的信息——这个链接没有帮助:我可以使用Swashbuckle从Blazor项目c#生成Swagger UI吗

thx。

当您启动Blazor应用程序时,手动转到/swagger/index.html,您将看到标准的swagger UI。

如果您希望SwaggerUI在运行应用程序时显示,而不是Blazor客户端,请编辑launchSettings.json并设置";launchUrl";您的启动配置文件的值为/swagger/index.html

如果你想在MainLayout.razor中添加一个链接,并确保该链接只显示在开发环境中。

编辑:您需要确保Swagger已在您的program.cs文件中的服务器上设置。(假设Asp.NET Core 6,如果使用5,则Startup.cs文件中应该有类似的初始化代码(

var builder = WebApplication.CreateBuilder(args);
...
builder.Services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "MyBlazor", Version = "v1" });
});
...
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseWebAssemblyDebugging();
app.UseSwagger();
app.UseSwaggerUI(c => 
c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyBlazor v1"));
}

相关内容

最新更新