使用Swashbuckle.AspNetCore设置Swagger UI的syntaxHighlight属性

问题描述 投票:0回答:1

我正在一个项目中使用 Swashbuckle.AspNetCore。我开始使用的版本是 5.5.1,当渲染大型主体(20k json 行)的结果时,速度非常合理(数据获取需要 50 毫秒,渲染花费不到一秒。当我升级到 5.6 时.x,语法现在突出显示(看起来不错),但将这些结果的呈现速度减慢到 20 秒以上,并且一旦呈现,页面上导致刷新的任何操作都需要 20 秒才能清除结果。

在通常的搜索之后,我想尝试这个解决方案(停用syntaxHighlight)。 我不知道如何通过 Swashbuckle.AspNetCore 执行此操作。 有什么建议吗?

SwaggerUI({
        syntaxHighlight: {
          activated: false,
          theme: "agate"
        },
        //url: path,
        ....
      });
swagger-ui swashbuckle.aspnetcore
1个回答
16
投票

您好,我遇到了同样的问题,在深入研究源代码后,我发现您可以通过这种方式向 ConfigObject 传递其他参数(示例显示如何禁用语法突出显示):

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    c.RoutePrefix = string.Empty;
    c.ConfigObject.AdditionalItems.Add("syntaxHighlight", false);
});
© www.soinside.com 2019 - 2024. All rights reserved.