Comment configurer un RestTemplate personnalisé lors de l'utilisation du printemps-nuage-config-client?

voix
1

Je suis en train d'utiliser le printemps-nuage-config-client pour lire mes propriétés de configuration d'une application printemps-config-cloud serveur au démarrage. Mon application est une application Spring-Boot et ce que je dois faire est d'ajouter un en-tête spécifique à la demande avant qu'elle ne soit envoyée au serveur de configuration.

J'ai lu la documentation ( http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html ) et je ne peux pas trouver un moyen de personnaliser le ConfigServicePropertySourceLocator avec un RestTemplate fourni.

Quelle serait la meilleure façon de le faire?

Merci beaucoup

Créé 14/05/2015 à 13:52
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

Pour développer réponse @spencergibb.

  • Créer une classe de configuration.

    @Configuration
    @ConditionalOnClass({ConfigServicePropertySourceLocator.class, RestTemplate.class})
    public class ConfigClientBootstrapConfiguration {
    
        private final ConfigServicePropertySourceLocator locator;
    
        @Autowired
        public ConfigClientBootstrapConfiguration(ConfigServicePropertySourceLocator locator) {
            this.locator = locator;
        }
    
        @PostConstruct
        public void init() {
            RestTemplate restTemplate = new RestTemplate();
            locator.setRestTemplate(restTemplate);
        }
    
    }
    
  • Créer un bootstrap.factoriesdans sous - répertoireresources/META-INF

    # Bootstrap components
    org.springframework.cloud.bootstrap.BootstrapConfiguration=\
    path.to.config.ConfigClientBootstrapConfiguration
    
Créé 21/12/2016 à 13:36
source utilisateur

voix
1

Il y a un ConfigServicePropertySourceLocator.setRestTemplate(). En vous classe de configuration ajouter une @PostConstructméthode dans laquelle vous pouvez définir votre RestTemplatelà.

Créé 14/05/2015 à 18:06
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more