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

Int*_*ers 2 rest c#-5.0 swagger-ui blazor-server-side

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

Goo*_*ame 7

尽管这是一个相当老的问题,但我决定尝试找到答案,因为我想自己将 Swagger UI 嵌入到我的一个页面中。事实证明这很容易做到!
所有积分都归入此存储库- 所有者“jsauve”。

他表明你可以做到: 在此输入图像描述

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

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

            <iframe src="swagger" style="width:90%;height:1200px;border:none;" />
Run Code Online (Sandbox Code Playgroud)

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