首页 > 解决方案 > 将 Swagger UI 嵌入到 Blazor 服务器端应用程序中

问题描述

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

标签: restswagger-uiblazor-server-sidec#-5.0

解决方案


虽然这是一个相当古老的问题,但我决定尝试找到答案,因为我想自己将 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" });
            });
  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导航到。我希望它可以帮助某人,因为它确实帮助了我。


推荐阅读