Weed out duplicate links if there are 2 endpoints with the same path

Fixes gh-3570
This commit is contained in:
Dave Syer 2015-07-31 14:55:46 +01:00
parent 38d80bb8c0
commit ff7717932a
2 changed files with 7 additions and 3 deletions

View File

@ -23,7 +23,6 @@ import java.util.concurrent.ConcurrentHashMap;
import javax.annotation.PostConstruct;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.annotation.AnnotatedBeanDefinition;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;

View File

@ -16,6 +16,9 @@
package org.springframework.boot.actuate.autoconfigure;
import java.util.HashSet;
import java.util.Set;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;
import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoints;
import org.springframework.hateoas.ResourceSupport;
@ -24,7 +27,7 @@ import org.springframework.util.StringUtils;
import static org.springframework.hateoas.mvc.ControllerLinkBuilder.linkTo;
/**
* Adds enpoints links to {@link ResourceSupport}.
* Adds endpoints links to {@link ResourceSupport}.
*
* @author Dave Syer
*/
@ -44,10 +47,12 @@ class LinksEnhancer {
resource.add(linkTo(LinksEnhancer.class).slash(this.rootPath + self)
.withSelfRel());
}
Set<String> added = new HashSet<String>();
for (MvcEndpoint endpoint : this.endpoints.getEndpoints()) {
if (!endpoint.getPath().equals(self)) {
if (!endpoint.getPath().equals(self) && !added.contains(endpoint.getPath())) {
addEndpointLink(resource, endpoint);
}
added.add(endpoint.getPath());
}
}