【问题标题】:Swagger UI on '.net Core hosted' Blazor WASM solution Web API project“.net Core 托管”Blazor WASM 解决方案 Web API 项目上的 Swagger UI
【发布时间】:2022-02-18 01:24:32
【问题描述】:

我在 Blazor WebAssembly 解决方案上使用“.net Core 托管”选项。

这会为您创建一个 .net Core Web API 项目作为解决方案的一部分。

如果我自己创建它并启动项目,它将启动一个 Swagger UI 界面到 API。如果我在“.net Core 托管”的 Blazor 应用程序中启动服务器项目,它会启动客户端应用程序(如预期的那样)。

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

我在 Google 上找不到任何相关信息 - 此链接没有帮助: Can I use Swashbuckle to generate Swagger UI from Blazor project c#

谢谢。

【问题讨论】:

  • 出于与您曾经使用 Swagger 相同的原因 - 查看和测试端点。有什么选择?
  • 在团队中开发时,有时 Swagger UI 对测试等很有用。但是在生产中,如果您提供 swagger,我希望这将用于未来的客户端应用程序。这告诉我也许您不应该将第一个客户端与托管的 API 捆绑在一起以进行更清洁的部署。除了这一切,它都可以做到。但是我还没有解决 blazor 看不到路线的问题。 brianparker.azurewebsites.net/swagger/index.html 例如会说 Sorry, there's nothing at this address. 但如果你按 CTRL-F5 它会显示招摇的 UI。
  • 谢谢 - 转到 /swagger/index.html - 即使我按 ctrl F5 或按刷新也不起作用

标签: blazor blazor-webassembly


【解决方案1】:

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

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

如果您想在 MainLayout.razor 中添加指向它的链接,并确保该链接仅显示在开发环境中。

编辑:您需要确保在您的 program.cs 文件中的服务器上设置了 Swagger。 (假设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"));
}

【讨论】:

  • localhost:1234/swagger/index.htmllocalhost:1234/swagger 在此处无法正常工作 - 这是一个 .net Core 托管的 blazor 应用程序对...
  • 编辑添加用于 ASP.NET Core 6 的配置
  • 另外,根据我在quarkus.io/guides/… 找到的内容,我相信旧版本中所需的 URL 是 /q/swagger-ui。
  • 请注意,您还必须手动将 NuGet 包添加到服务器项目
猜你喜欢
  • 2020-12-08
  • 1970-01-01
  • 2021-05-19
  • 2015-08-26
  • 2020-05-12
  • 1970-01-01
  • 2020-07-22
  • 2021-07-13
  • 2021-09-07
相关资源
最近更新 更多