Maintain same structure in /health output

JSON output of /health now has the same structure for 1 or more HealthIndicators. This makes it easier to consume the response from scripts or apps

fixes #1291
This commit is contained in:
Christian Dupuis 2014-07-31 16:13:23 +02:00
parent 6b083d7e0b
commit 063f67da5f
2 changed files with 8 additions and 13 deletions

View File

@ -27,7 +27,7 @@ import org.springframework.util.Assert;
/**
* {@link Endpoint} to expose application health.
*
*
* @author Dave Syer
* @author Christian Dupuis
*/
@ -46,17 +46,12 @@ public class HealthEndpoint extends AbstractEndpoint<Health> {
Assert.notNull(healthAggregator, "HealthAggregator must not be null");
Assert.notNull(healthIndicators, "HealthIndicators must not be null");
if (healthIndicators.size() == 1) {
this.healthIndicator = healthIndicators.values().iterator().next();
}
else {
CompositeHealthIndicator healthIndicator = new CompositeHealthIndicator(
healthAggregator);
for (Map.Entry<String, HealthIndicator> h : healthIndicators.entrySet()) {
healthIndicator.addHealthIndicator(getKey(h.getKey()), h.getValue());
}
this.healthIndicator = healthIndicator;
CompositeHealthIndicator healthIndicator = new CompositeHealthIndicator(
healthAggregator);
for (Map.Entry<String, HealthIndicator> h : healthIndicators.entrySet()) {
healthIndicator.addHealthIndicator(getKey(h.getKey()), h.getValue());
}
this.healthIndicator = healthIndicator;
}
/**

View File

@ -49,7 +49,7 @@ import static org.junit.Assert.assertTrue;
/**
* Tests for {@link EndpointAutoConfiguration}.
*
*
* @author Dave Syer
* @author Phillip Webb
* @author Greg Turnquist
@ -89,7 +89,7 @@ public class EndpointAutoConfigurationTests {
assertNotNull(bean);
Health result = bean.invoke();
assertNotNull(result);
assertTrue("Wrong result: " + result, result.getDetails().containsKey("database"));
assertTrue("Wrong result: " + result, result.getDetails().containsKey("db"));
}
@Test