美文网首页我爱编程
Spring Cloud Config—提供自定义RestTem

Spring Cloud Config—提供自定义RestTem

作者: 万万558 | 来源:发表于2018-02-28 11:26 被阅读0次

    在某些情况下,您可能需要从客户端自定义对配置服务器的请求。通常这涉及传递特殊的Authorization标头来对服务器的请求进行身份验证。要提供自定义RestTemplate,请按照以下步骤操作。

    设置spring.cloud.config.enabled=false以禁用现有的配置服务器属性源。

    使用PropertySourceLocator实现创建一个新的配置bean。

    CustomConfigServiceBootstrapConfiguration.java

    @Configuration

    public class CustomConfigServiceBootstrapConfiguration {

        @Bean

        public ConfigClientProperties configClientProperties() {

            ConfigClientProperties client = new ConfigClientProperties(this.environment);

            client.setEnabled(false);

            return client;

        }

        @Bean

        public ConfigServicePropertySourceLocator configServicePropertySourceLocator() {

            ConfigClientProperties clientProperties = configClientProperties();

          ConfigServicePropertySourceLocator configServicePropertySourceLocator =  new ConfigServicePropertySourceLocator(clientProperties);

            configServicePropertySourceLocator.setRestTemplate(customRestTemplate(clientProperties));

            return configServicePropertySourceLocator;

        }

    }

    在resources/META-INF中创建一个名为spring.factories的文件,并指定您的自定义配置。

    spring.factorties

    org.springframework.cloud.bootstrap.BootstrapConfiguration = com.my.config.client.CustomConfigServiceBootstrapConfiguration

    Vault

    当使用Vault作为配置服务器的后端时,客户端将需要为服务器提供一个令牌,以从Vault中检索值。可以通过在bootstrap.yml中设置spring.cloud.config.token在客户端中提供此令牌。

    bootstrap.yml

    spring:

      cloud:

        config:

          token: YourVaultToken

    Vault

    Vault中的嵌套密钥

    Vault支持将键嵌入存储在Vault中的值。例如

    echo -n '{"appA": {"secret": "appAsecret"}, "bar": "baz"}' | vault write secret/myapp -

    此命令将向您的Vault编写一个JSON对象。要在Spring中访问这些值,您将使用传统的点(。)注释。例如

    @Value("${appA.secret}")

    String name = "World";

    上代码将name变量设置为appAsecret。

    源码来源:http://minglisoft.cn/honghu/technology.html

    相关文章

      网友评论

        本文标题:Spring Cloud Config—提供自定义RestTem

        本文链接:https://www.haomeiwen.com/subject/gajbxftx.html