Весенний облачный конфиг-сервер. Переменные среды в свойствах

Я настроил сервер Spring Cloud Config следующим образом:

@SpringBootApplication
@EnableAutoConfiguration
@EnableConfigServer
public class ConfigServer {

    public static void main(String[] args) {
        SpringApplication.run(ConfigServer.class, args);
    }
}

Я использую «родной» профиль, поэтому свойства выбираются из файловой системы:

server.port=8888
spring.profiles.active=native
spring.cloud.config.server.native.search-locations: classpath:/global

Теперь самое сложное в том, что некоторые свойства содержатпеременные среды, Свойства в 'global / application-production.properties' настроены так:

test=${DOCKER_HOST}

Когда я запускаю Config Server - все работает нормально. Однако, когда я получаю доступHTTP: // локальный: 8888 / TestApp / производство Я вижу это:

{
    name: "testapp",
    profiles: [
        "production"
],
    label: null,
    version: null,
    propertySources: [
        {
            name: "classpath:/global/application-production.properties",
            source: {
                test: "${DOCKER_HOST}"
            }
        }
    ]
}

Таким образом, значение из переменной ENV не заменяет $ {DOCKER_HOST}, а скорее возвращает как есть.

Но если я получу доступHTTP: // локальный: 8888 / application-production.properties тогда результат не JSON, а обычный текст:

test: tcp://192.168.99.100:2376

Весенняя документация гласит:

Представления YAML и свойств имеют дополнительный флаг (предоставленный как булевский параметр запроса resolPlaceholder), чтобы сигнализировать о том, что заполнители в исходных документах в стандартной форме Spring $ {…} должны быть разрешены в выходных данных, где это возможно, перед визуализацией. Это полезная функция для потребителей, которые не знают о соглашениях-заполнителях Spring.

По какой-то причинеresolvePlaceholders не работает для представления JSON, поэтому клиенты конфигурации сервера должны знать обо всех переменных ENV, настроенных на сервере.

Можно ли форсировать JSON-представление?resolvePlaceholders так же, как представление простого текста (свойства)?

Ответы на вопрос(3)

Ваш ответ на вопрос