将 Swagger UI 嵌入 Blazor 服务器端应用程序

问题描述

我想将 swagger UI 嵌入到我的 blazor 应用程序的页面中。我很难找到如何使用剃刀页面执行此操作的示例。有没有人有这样做的例子?我通常更像是一名后端开发人员,所以在启动和运行这个前端时有点费力。

解决方法

虽然这是一个很老的问题,但我决定尝试找到答案,因为我想自己将 Swagger UI 嵌入到我的一个页面中。 事实证明,这很容易做到!
所有功劳归 this repository - 所有者 'jsauve'。

他表明你可以做到: enter image description here

为了使其显示在您的页面上,您需要执行以下步骤:

  1. 在您的 Blazor 服务器上安装 Swashbuckle.AspNetCore
  2. 在 Startup.cs 中,ConfigureServices 添加:
            services.AddControllers();
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1",new OpenApiInfo { Title = "My API",Version = "v1" });
            });
  1. 在 Startup.cs 中,配置添加:
            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json","v1");
            });
  1. 简单地,创建 Razor 组件并添加:
            @page "/test"

            <iframe src="swagger" style="width:90%;height:1200px;border:none;" />

从您的例如导航到 /test MainLayout.razor。我希望它可以帮助某人,因为它确实帮助了我。