Este artigo é parte da série:

Quando você cria a Web API a partir do Visual Studio, tudo funciona perfeitamente no ambiente de desenvolvimento, mas quando a aplicação é publicada em um servidor com acesso público à Internet o Swagger não funciona mais. Isso é muito simples de resolver. Observe esse trecho de código em “Program.cs”, gerado automaticamente pelo Visual Studio que serve para instanciar o Swagger:
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}O que ele faz é simplesmente checar se o ambiente atual é de desenvolvimento, e apenas nesta condição o Swagger é instanciado. Para resolver o problema basta remover esse if. No exemplo abaixo, eu deixei o código que queremos eliminar todo comentado e disparei a instância do Swagger no fluxo normal do programa.
var app = builder.Build();
// Configure the HTTP request pipeline.
/*if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
*/
app.UseSwagger();
app.UseSwaggerUI();Você pode remover todo o código comentado, caso queira deixar o Swagger sempre disponível no ambiente de produção.
var app = builder.Build(); app.UseSwagger(); app.UseSwaggerUI();
Próxima etapa:
