swagger-ui-bundle.js 对于 AWS Lambda 和 ALB 来说太大

chi*_*ef7 6 swagger swagger-ui swashbuckle

更新到.NET Core 3.1和最新版本的Swashbuckle,但发现swagger UI无法正常工作。swagger-ui-bundle.js 无法加载并显示 502。将此问题追溯到 AWS ALB 错误,指出响应太大。针对 Lambda 的 ALB 将响应限制为 1MB。确认 swagger-ui-bundle.js 几乎为 1MB(技术上为 995KB)。

是否有办法减小 swagger-ui-bundle.js 的大小或使用某种替代方法来引用它(可能通过 CDN)?

我将 Swashbuckle.AspNetCore 5.5.1 Nuget 包与 .NET Core 3.1 一起使用。

小智 2

这应该可以解决问题:

app.UseSwaggerUI(c => {
  c.InjectJavascript("https://cdnjs.cloudflare.com/ajax/libs/swagger-ui/4.1.3/swagger-ui-bundle.js", "text/javascript");
  c.SwaggerEndpoint($"/swagger/{_swaggerVersion}/swagger.json", _appSettings.ApiName);
});
Run Code Online (Sandbox Code Playgroud)