Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro na comunicação entre os serviços

Olá, tudo bem?

Configurei o microserviço de Pagamentos com o Open Feign para realizar a requisicão no microserviço de Pedidos. Pórem, ele não realiza a requisição para a api, detalhe que a url que tento acessar através do Feign funciona normalmente quando a acesso diretamente. Posso deixar meu repositório para alguém testar e me dar um help?

Link do repositório: https://github.com/gustavoszo/ms-java-spring.git

obs:

  • O repositório contém o arquivo do Postman para as requisições
  • Pode ignorar a response dos endpoints de pedidos, ainda vou arruma-las.
  • Para testar, mudar no pom da aplicação Gateway a dependência: org.springframework.cloud spring-cloud-starter-gateway-mvc para: org.springframework.cloud spring-cloud-starter-gateway

Obrigado!!

2 respostas
solução!

Olá Gustavo, tudo bem?

Entendo que você está enfrentando dificuldades na comunicação entre seus microserviços utilizando o Open Feign. Vamos tentar identificar o problema juntos.

Primeiro, é importante verificar se o Feign Client está corretamente configurado. Certifique-se de que a anotação @EnableFeignClients está presente na classe principal do seu microserviço de Pagamentos. Isso é essencial para que o Spring Boot consiga escanear e registrar os Feign Clients.

Além disso, verifique o nome do serviço que você está passando na anotação @FeignClient("pedidos-ms"). Ele deve corresponder exatamente ao nome definido no spring.application.name do microserviço de Pedidos. Qualquer discrepância pode causar falhas na resolução do serviço.

Outro ponto a ser verificado é se o serviço de Pedidos está devidamente registrado no Eureka Server (caso esteja usando o Spring Cloud Netflix Eureka para service discovery). Sem isso, o Feign Client não conseguirá encontrar o serviço de destino.

Se tudo estiver correto, mas o problema persistir, você pode tentar habilitar o log de requisições do Feign para obter mais detalhes sobre o que está acontecendo. Isso pode ser feito adicionando a seguinte configuração no seu application.properties ou application.yml:

logging.level.feign=DEBUG

Essa configuração permitirá que você veja as requisições sendo feitas pelo Feign no console, o que pode ajudar a identificar onde está o problema.

Por fim, se ainda assim não conseguir resolver, seria uma boa ideia compartilhar o repositório, como você mencionou, para que outros possam testar e talvez identificar o problema.

Espero ter ajudado e bons estudos!

Olá, tudo bem!!

O Open Feign não estava conseguindo realizar requisições para o método HTTP Patch. Fiz a alteração no microserviço de pedidos para receber uma requisição do tipo PUT. Dessa forma, o Open Feign conseguiu realizar a chamada para o endpoint.

Valeu pela atenção!!