Fiz todo o passo a passo da aula, e após executar o script.sh, o localhost:8080/topicos nao abre, dá esse erro abaixo
Fiz todo o passo a passo da aula, e após executar o script.sh, o localhost:8080/topicos nao abre, dá esse erro abaixo
Oi, Gustavo.
Vi que finalizou o curso, que ótimo!
Pela imagem e pelo log que você compartilhou, o erro 500 (Internal Server Error) indica que a aplicação Spring Boot até subiu e está ouvindo na porta 8080, mas ela encontrou uma falha interna ao tentar processar a requisição para /topicos.
Como você está seguindo o passo a passo da aula de Prometheus e Grafana, esse erro geralmente está ligado à comunicação da aplicação com as dependências externas (MySQL ou Redis).
Aqui estão os pontos para você verificar:
O script da aplicação tenta se conectar ao banco de dados e ao cache assim que você acessa o endpoint. Se o container do MySQL não terminou de subir ou se houve um conflito de portas, a aplicação lançará esse erro 500.
No seu terminal, rode:
docker ps
Confirme se os containers mysql-forum-api e redis-forum-api aparecem com o status Up.
No vídeo, é mencionado que o MySQL usa a porta 3306 e o Redis a 6379.
Como você executou o start.sh, a aplicação está rodando. Vá até o Console do Eclipse (onde as mensagens de log aparecem) e procure por uma linha que comece com ERROR ou Exception.
Geralmente, você encontrará algo como:
com.mysql.cj.jdbc.exceptions.CommunicationsException: Significa que a aplicação não conseguiu falar com o MySQL.org.springframework.data.redis.RedisConnectionFailureException: Significa que ela não achou o Redis.Às vezes, o MySQL demora um pouco mais para "ficar pronto para receber conexões" (Ready for connections) do que o Docker leva para dizer que o container subiu.
Ctrl+C no terminal onde rodou o script, aguarde 30 segundos e execute o ./start.sh novamente, garantindo que o Docker já esteja rodando há algum tempo.docker ps mostra os dois containers ativos?Se puder colar aqui o erro que aparece no Console do Eclipse, consigo te dar um diagnóstico mais exato.