Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Swagger Sumiu!

Após a aula 3 do curso de Microsserviços e .NET6, feito os containers rodarem, eu não consigo acessar o swagger dos serviços web api. Mesmo observando os logs do container, é possível ver que a aplicação está executando corretamente. Verifiquei o SwaggerUI() para ser executado tanto em ambiente de desenvolvimento quanto em produção. Verifiquei se os containers estão na mesma network. Verifiquei se as portas estão corretas e tudo mais. Conseguem me ajudar nessa? Abaixo estão alguns prints do problema. (Estou no .NET8)

Obrigado pela atenção!

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeSwaggerSumiu

1 resposta
solução!

Olá, Lucas!

Parece que você já fez várias verificações importantes. Aqui estão algumas sugestões adicionais para tentar resolver o problema do Swagger não aparecer:

  1. Verifique as Rotas: Certifique-se de que a rota do Swagger está correta. Normalmente, seria algo como http://localhost:8080/swagger ou http://localhost:8081/swagger, dependendo do serviço.

  2. Verifique o Ambiente: No seu código, você está usando app.UseSwagger() e app.UseSwaggerUI(). Verifique se essas chamadas estão realmente sendo executadas. Às vezes, pode haver condições que impedem a execução delas.

  3. Verifique o Middleware: Certifique-se de que o middleware do Swagger está configurado corretamente e que não há nenhum outro middleware que possa estar bloqueando o acesso ao Swagger.

  4. Verifique o Dockerfile: Confirme que o Dockerfile está copiando todos os arquivos necessários e que o ENTRYPOINT ou CMD está configurado corretamente para iniciar a aplicação.

  5. Logs do Container: Já que você mencionou que os logs indicam que a aplicação está rodando, veja se há alguma mensagem de erro específica relacionada ao Swagger.

  6. Portas e Firewall: Além de verificar as portas nos containers, certifique-se de que não há nenhum firewall ou regra de rede bloqueando o acesso.

Verifique ainda se no seu Dockerfile está mapeando as portas do containeres, por exemplo:

WORKDIR /app
EXPOSE 8080
EXPOSE 8081

Se ainda assim não funcionar, pode ser útil criar um novo projeto simples apenas para testar o Swagger e ver se ele funciona fora do contexto dos containers.

Espero ter ajudado e bons estudos!