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

jst*_*ner 5 swagger-ui swashbuckle.aspnetcore

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

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

SwaggerUI({
        syntaxHighlight: {
          activated: false,
          theme: "agate"
        },
        //url: path,
        ....
      });
Run Code Online (Sandbox Code Playgroud)

小智 13

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

app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
    c.RoutePrefix = string.Empty;
    c.ConfigObject.AdditionalItems.Add("syntaxHighlight", false);
});
Run Code Online (Sandbox Code Playgroud)