1
resposta

Dúvida sobre o curso de microsserviços

Olá, estou fazendo o curso de microsserviços. No capítulo 3 no último video, fiz a mudança do arquivo de configuração do banco de dados da minha máquina local para o github, porém o config-server não o encontra. Segue abaixo:

o erro no postman:

{
    "timestamp": "2020-10-29T02:50:05.772+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "",
    "path": "/fornecedor/default"
}

application.yml do projeto config-server

server:
  port: 8888

spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/raphapfeifer/microsservices-repo
          search-paths: fornecedor

arquivo no fornecedor.yml no github

spring
  datasource:
    password:root
    username:1234
    uri:jdbc:mysql://localhost:3306/fornecedor
  jpa:
    hibernate:
      ddl-auto:validate

bootstrap.properties do projeto fornecedor

#Acesso ao Banco
spring.application.name=fornecedor
spring.profiles.active=default
spring.cloud.config.uri=http://localhost:8888

application.properties do projeto fornecedor

server.port=8081


eureka.client.registry-with-eureka=true
eureka.client.fetch-registry=true
eureka.service-url.defaultZone=http://localhost:8761/eureka

Obs: Não sei se pelo fato dos arquivos de configuração do projeto fornecedor estarem no formato .properties e os do projeto config-server estarem no formato .yml o problema esteja ocorrendo. Anteriormente eu deixei todos no formato .properties e também não deu certo.

1 resposta

Oi Raphael, como você está?

Desculpe por demorar a te responder. Espero que você tenha solucionado o problema!

Vou deixar algumas sugestões aqui que podem te ajudar a resolver o erro, caso ainda esteja precisando:

  • Verifique se o valor do search-paths está correto. No seu caso, você definiu fornecedor como o caminho de busca, mas no arquivo fornecedor.yml no GitHub, você não possui uma pasta chamada fornecedor, apenas o arquivo em si. Uma solução possível seria alterar o valor de search-paths para microsservices-repo, que é o nome da pasta no seu repositório do GitHub. Assim, o config-server poderá encontrar o arquivo fornecedor.yml corretamente.
  • É importante garantir que o config-server esteja sendo executado corretamente e que você esteja acessando a URL correta no bootstrap.properties do projeto fornecedor.
  • Verifique se o URI do Git configurado no application.yml do projeto Config Server está correto e acessível.
  • No exemplo fornecido, parece haver um erro de indentação no arquivo fornecedor.yml. A seção spring.datasource, spring.jpa, e spring.jpa.hibernate devem ser recuadas com espaços ou tabs, para que fiquem aninhadas corretamente dentro da seção spring.

Quanto à diferença de formatos entre os arquivos de configuração (.yml e .properties), isso não deve ser um problema, pois o config-server é capaz de lidar com ambos os formatos. Certifique-se apenas de que a estrutura dos arquivos esteja correta.

Espero que essas sugestões possam ser um bom ponto de partida.

Abraços.