Olá Rafaela! Tudo bem?
O erro indica que o serviço ISwaggerProvider
não está sendo corretamente resolvido pelo contêiner de injeção de dependência do ASP.NET Core. E isso geralmente acontece quando o Swagger não foi configurado corretamente no seu projeto.
Vamos verificar algumas coisas para resolver esse problema:
Verifique se o Swagger está corretamente instalado e configurado: no seu arquivo .csproj
, você deve ter as referências para o Swagger. Certifique-se de que as bibliotecas Swashbuckle.AspNetCore
e Swashbuckle.AspNetCore.SwaggerUI
estão instaladas. Você pode verificar isso no NuGet Package Manager.
Configuração no Program.cs
ou Startup.cs
: certifique-se de que você adicionou o Swagger ao serviço de injeção de dependência e configurou o middleware do Swagger corretamente. Aqui está um exemplo de como isso pode ser feito no Program.cs
:
var builder = WebApplication.CreateBuilder(args);
// Adiciona o Swagger
builder.Services.AddSwaggerGen();
var app = builder.Build();
// Configura o Swagger middleware
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Minha API V1");
c.RoutePrefix = string.Empty; // Para abrir o Swagger na raiz do site
});
// Outros middlewares
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();
Verifique o arquivo de configuração launchSettings.json
: Certifique-se de que o URL de lançamento está configurado para abrir o Swagger por padrão, como você mencionou que foi feito na configuração do launchUrl
.
Se após essas verificações o problema persistir, pode ser útil verificar se há algum problema específico com a versão das bibliotecas do Swagger que você está usando ou com a configuração específica do seu ambiente. Às vezes, um simples erro de digitação ou uma configuração faltando pode causar esses problemas.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.