【发布时间】:2022-07-14 17:26:24
【问题描述】:
根据 Microsoft documentation,我们应该为所有 env 添加 swagger 依赖项。
builder.Services.AddSwaggerGen();
但仅为开发者启用 UI。
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
为什么?只为 dev env 添加依赖项不是更有意义吗?喜欢:
if (app.Environment.IsDevelopment())
{
builder.Services.AddSwaggerGen();
}
【问题讨论】:
-
按照你的建议做就行了吗?
-
(我觉得这是 a) 工作的情况之一,所以你需要ask Microsoft“为什么当 Y 工作时你的文档说 X并且看起来更明智?” - 这里离题了,因为我们不能权威地谈论微软团队的想法,所以这里没有问题要回答,或者 b) 它不起作用,因此这里没有问题要回答..)
-
它按我的预期工作:在 dev 上加载 swagger 依赖项和 swagger 配置 - application+swagger 有效。在测试中,您不会加载 swagger 依赖项和 swagger 配置 - 只有应用程序有效。
-
那么你的情况是 a) - 你需要问微软他们的想法是什么(我为 dotnet 文档链接了 GitHub),或者他们可能会同意并更新他们的文档。这不是我们可以帮助的事情
标签: c# dependency-injection swagger swashbuckle