问题描述
我想将 swagger UI 嵌入到我的 blazor 应用程序的页面中。我很难找到如何使用剃刀页面执行此操作的示例。有没有人有这样做的例子?我通常更像是一名后端开发人员,所以在启动和运行这个前端时有点费力。
解决方法
虽然这是一个很老的问题,但我决定尝试找到答案,因为我想自己将 Swagger UI 嵌入到我的一个页面中。
事实证明,这很容易做到!
所有功劳归 this repository - 所有者 'jsauve'。
为了使其显示在您的页面上,您需要执行以下步骤:
- 在您的 Blazor 服务器上安装
Swashbuckle.AspNetCore
。 - 在 Startup.cs 中,ConfigureServices 添加:
services.AddControllers();
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1",new OpenApiInfo { Title = "My API",Version = "v1" });
});
- 在 Startup.cs 中,配置添加:
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json","v1");
});
- 简单地,创建 Razor 组件并添加:
@page "/test"
<iframe src="swagger" style="width:90%;height:1200px;border:none;" />
从您的例如导航到 /test
MainLayout.razor。我希望它可以帮助某人,因为它确实帮助了我。