Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

171
Vistas
spring-cloud-starter-config POST /env no funciona

Tengo una pequeña aplicación web Spring Boot (jar ejecutable) que tiene algunas propiedades personalizadas dentro del archivo application.properties. Mi objetivo es poder modificar dinámicamente estas propiedades en tiempo de ejecución sin tener que ejecutar una compilación/implementación o reiniciar el proceso de Java. El proyecto spring-cloud-starter-config parece ser adecuado para esto (aunque no estoy usando un servidor de configuración), pero me encontré con el siguiente problema:

En mi pom.xml incluyo dependencias para spring-boot-starter-actuator y spring-cloud-starter-config. La aplicación.propiedades configura las siguientes propiedades

 management.port=8081 management.context-path=/management management.security.enabled=false foo=bar

Puedo leer las variables usando

 curl http://localhost:8081/management/env/foo {"foo":"bar"}

La actualización a continuación parece tener éxito también

 curl -X POST -d foo=foo http://localhost:8081/management/env {"foo":"foo"}

Cuando consulto todo el entorno, veo el valor modificado en la sección del administrador y el valor original dentro de applicationConfig

 curl http://localhost:8081/management/env { ... "manager": { "foo": "foo" }, ... "configServerClient": { "spring.cloud.config.enabled": "false" }, ... "applicationConfig: [classpath:/application.properties]": { ... "foo": "bar", ... } }

Ahora, cuando vuelvo a consultar la variable, todavía obtengo el valor anterior

 curl http://localhost:8081/management/env/foo {"foo":"bar"}

Esto es contrario a lo que leo en algunos blogs web. Según tengo entendido, el valor modificado debería aparecer. ¿Qué estoy haciendo mal? ¿Hay una mejor manera de cambiar dinámicamente los valores en application.properties sin reiniciar el servidor?

Su ayuda es muy apreciada.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Debe ejecutar la actualización después de publicar cambios en env

 curl -X POST http://localhost:8081/management/refresh
over 4 years ago · Santiago Trujillo Denunciar

0

para mi solo funciona con

 curl -H "Content-Type: application/json" -X POST -d '{"name":"foo", "value":"bar"}' http://localhost:8081/management/env/

de lo contrario obtengo

 "Missing parameters: value,name"
over 4 years ago · Santiago Trujillo Denunciar

0

Si está utilizando una versión Spring Boot superior a 2.2.4, debe habilitar manualmente la llamada a la API POST utilizando la siguiente propiedad.

administración.endpoint.env.post.enabled=true

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda