mirror of https://github.com/elunez/eladmin
pull/836/head
parent
2acb049509
commit
ad98f58e6f
|
@ -19,15 +19,33 @@ import io.swagger.annotations.Api;
|
||||||
import me.zhengjie.annotation.rest.AnonymousGetMapping;
|
import me.zhengjie.annotation.rest.AnonymousGetMapping;
|
||||||
import me.zhengjie.utils.SpringContextHolder;
|
import me.zhengjie.utils.SpringContextHolder;
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.actuate.autoconfigure.endpoint.web.CorsEndpointProperties;
|
||||||
|
import org.springframework.boot.actuate.autoconfigure.endpoint.web.WebEndpointProperties;
|
||||||
|
import org.springframework.boot.actuate.autoconfigure.web.server.ManagementPortType;
|
||||||
|
import org.springframework.boot.actuate.endpoint.ExposableEndpoint;
|
||||||
|
import org.springframework.boot.actuate.endpoint.web.EndpointLinksResolver;
|
||||||
|
import org.springframework.boot.actuate.endpoint.web.EndpointMapping;
|
||||||
|
import org.springframework.boot.actuate.endpoint.web.EndpointMediaTypes;
|
||||||
|
import org.springframework.boot.actuate.endpoint.web.ExposableWebEndpoint;
|
||||||
|
import org.springframework.boot.actuate.endpoint.web.WebEndpointsSupplier;
|
||||||
|
import org.springframework.boot.actuate.endpoint.web.annotation.ControllerEndpointsSupplier;
|
||||||
|
import org.springframework.boot.actuate.endpoint.web.annotation.ServletEndpointsSupplier;
|
||||||
|
import org.springframework.boot.actuate.endpoint.web.servlet.WebMvcEndpointHandlerMapping;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.boot.context.ApplicationPidFileWriter;
|
import org.springframework.boot.context.ApplicationPidFileWriter;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.core.env.Environment;
|
||||||
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
|
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
|
||||||
import org.springframework.scheduling.annotation.EnableAsync;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开启审计功能 -> @EnableJpaAuditing
|
* 开启审计功能 -> @EnableJpaAuditing
|
||||||
*
|
*
|
||||||
|
@ -64,4 +82,35 @@ public class BaseAppRun {
|
||||||
public String index() {
|
public String index() {
|
||||||
return "Backend service started successfully";
|
return "Backend service started successfully";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public WebMvcEndpointHandlerMapping webEndpointServletHandlerMapping(
|
||||||
|
WebEndpointsSupplier webEndpointsSupplier,
|
||||||
|
ServletEndpointsSupplier servletEndpointsSupplier,
|
||||||
|
ControllerEndpointsSupplier controllerEndpointsSupplier,
|
||||||
|
EndpointMediaTypes endpointMediaTypes,
|
||||||
|
CorsEndpointProperties corsProperties,
|
||||||
|
WebEndpointProperties webEndpointProperties,
|
||||||
|
Environment environment) {
|
||||||
|
List<ExposableEndpoint<?>> allEndpoints = new ArrayList();
|
||||||
|
Collection<ExposableWebEndpoint> webEndpoints = webEndpointsSupplier.getEndpoints();
|
||||||
|
allEndpoints.addAll(webEndpoints);
|
||||||
|
allEndpoints.addAll(servletEndpointsSupplier.getEndpoints());
|
||||||
|
allEndpoints.addAll(controllerEndpointsSupplier.getEndpoints());
|
||||||
|
String basePath = webEndpointProperties.getBasePath();
|
||||||
|
EndpointMapping endpointMapping = new EndpointMapping(basePath);
|
||||||
|
boolean shouldRegisterLinksMapping = this.shouldRegisterLinksMapping(
|
||||||
|
webEndpointProperties, environment, basePath);
|
||||||
|
return new WebMvcEndpointHandlerMapping(endpointMapping, webEndpoints,
|
||||||
|
endpointMediaTypes, corsProperties.toCorsConfiguration(),
|
||||||
|
new EndpointLinksResolver(allEndpoints, basePath),
|
||||||
|
shouldRegisterLinksMapping, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean shouldRegisterLinksMapping(WebEndpointProperties webEndpointProperties,
|
||||||
|
Environment environment, String basePath) {
|
||||||
|
return webEndpointProperties.getDiscovery().isEnabled() &&
|
||||||
|
(StringUtils.hasText(basePath) ||
|
||||||
|
ManagementPortType.get(environment).equals(ManagementPortType.DIFFERENT));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue