Aproveitei o módulo e tentei implementar um Swagger na aplicação, também usei Docker, o repositorio completo esta disponivel em:
https://github.com/WellysonP/microservice-lsim
Para rodar a aplicação:
git clone https://github.com/WellysonP/microservice-lsim.git
git submodule init
git submodule update
cd microservice-lsim
docker compose up
Minha idéia foi aplicar o Swagger no serviço de Gateway, já que ele é a porta de entrada dos microserviços. Coloquei para rodar em http://localhost:8762/docs/swagger Com o print abaixo vemos que o Swagger iniciou, consegiu ler os Schemas e endpoints.
Contudo, ao usar algum endpoint, percebi que ele reclamou de CORS e fui ajustar o CORS, e nada dos endpoints rodarem. Analisando mais a fundo, vi que o curl que o endpoint esta batendo é dado por:
curl -X 'GET' \
'http://1dbd06adb296:35089/pagamentos?page=0&size=1&sort=string' \
-H 'accept: */*'
Podemos ver ai que o Swagger esta batendo diretamente no container da aplicação (nesse casa a aplicação de pagamentos) e na porta dinâmica, por ser uma porta dinâmica, ela não foi liberada... Achei estranho, pois foi implementado justamente na camada de Gateway.
Sei que Swagger não esta no escopo da disciplina, mas alguém poderia me ajudar a fazer o Swagger apontar para a porta do gateway?