监控
网关
业务
堡垒机域名解析
sssss
bbb
location /9ad134a361f8d778/ {
proxy_pass http://127.0.0.1:8161/;
proxy_read_timeout 600;
}
// wisdom-gateway
// CustomGatewayFilter.java
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain){
....
}
# eureka
eureka.instance.status-page-url-path=/actuator/info
eureka.instance.health-check-url-path=/actuator/health
eureka.instance.home-page-url-path=/
eureka.client.service-url.defaultZone=http://${EUREKA_HOST:localhost}:${EUREKA_PORT:8162}/eureka/
## 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,对于api-gateway,如果要迅速获取服务注册状态,可以缩小该值
eureka.client.registry-fetch-interval-seconds=5
## 表示eureka client发送心跳给server端的频率。如果在leaseExpirationDurationInSeconds后,server端没有收到client的心跳,则将摘除该instance
eureka.instance.lease-renewal-interval-in-seconds=30
## platform
spring.cloud.gateway.routes[0].id=wisdom-platform
spring.cloud.gateway.routes[0].uri=lb://wisdom-platform
spring.cloud.gateway.routes[0].predicates[0]=Path=/platform/**
spring.cloud.gateway.routes[0].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[0].filters[1]=StripPrefix=1
## asset
spring.cloud.gateway.routes[1].id=wisdom-asset
spring.cloud.gateway.routes[1].uri=lb://wisdom-asset
spring.cloud.gateway.routes[1].predicates[0]=Path=/asset/**
spring.cloud.gateway.routes[1].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[1].filters[1]=StripPrefix=1
## auth
spring.cloud.gateway.routes[2].id=wisdom-auth
spring.cloud.gateway.routes[2].uri=lb://wisdom-auth
spring.cloud.gateway.routes[2].predicates[0]=Path=/auth/**
spring.cloud.gateway.routes[2].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[2].filters[1]=StripPrefix=1
## payment
spring.cloud.gateway.routes[3].id=wisdom-payment
spring.cloud.gateway.routes[3].uri=lb://wisdom-payment
spring.cloud.gateway.routes[3].predicates[0]=Path=/payment/**
spring.cloud.gateway.routes[3].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[3].filters[1]=StripPrefix=1
## serve
spring.cloud.gateway.routes[4].id=wisdom-serve
spring.cloud.gateway.routes[4].uri=lb://wisdom-serve
spring.cloud.gateway.routes[4].predicates[0]=Path=/serve/**
spring.cloud.gateway.routes[4].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[4].filters[1]=StripPrefix=1
## file
spring.cloud.gateway.routes[5].id=wisdom-file
spring.cloud.gateway.routes[5].uri=lb://wisdom-file
spring.cloud.gateway.routes[5].predicates[0]=Path=/file/**
spring.cloud.gateway.routes[5].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[5].filters[1]=StripPrefix=1
## bill
spring.cloud.gateway.routes[6].id=wisdom-bill
spring.cloud.gateway.routes[6].uri=lb://wisdom-bill
spring.cloud.gateway.routes[6].predicates[0]=Path=/bill/**
spring.cloud.gateway.routes[6].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[6].filters[1]=StripPrefix=1
## report
spring.cloud.gateway.routes[7].id=wisdom-report
spring.cloud.gateway.routes[7].uri=lb://wisdom-report
spring.cloud.gateway.routes[7].predicates[0]=Path=/report/**
spring.cloud.gateway.routes[7].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[7].filters[1]=StripPrefix=1
## ureport
spring.cloud.gateway.routes[8].id=wisdom-report
spring.cloud.gateway.routes[8].uri=lb://wisdom-report
spring.cloud.gateway.routes[8].predicates[0]=Path=/ureport/**
spring.cloud.gateway.routes[8].filters[0]=GatewaySwaggerHeaderFilter
## log
spring.cloud.gateway.routes[9].id=wisdom-log
spring.cloud.gateway.routes[9].uri=lb://wisdom-log
spring.cloud.gateway.routes[9].predicates[0]=Path=/log/**
spring.cloud.gateway.routes[9].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[9].filters[1]=StripPrefix=1
## task
spring.cloud.gateway.routes[10].id=wisdom-task
spring.cloud.gateway.routes[10].uri=lb://wisdom-task
spring.cloud.gateway.routes[10].predicates[0]=Path=/task/**
spring.cloud.gateway.routes[10].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[10].filters[1]=StripPrefix=1
## hardware
spring.cloud.gateway.routes[11].id=wisdom-hardware
spring.cloud.gateway.routes[11].uri=lb://wisdom-hardware
spring.cloud.gateway.routes[11].predicates[0]=Path=/hardware/**
spring.cloud.gateway.routes[11].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[11].filters[1]=StripPrefix=1
## hris
spring.cloud.gateway.routes[12].id=wisdom-hris
spring.cloud.gateway.routes[12].uri=lb://wisdom-hris
spring.cloud.gateway.routes[12].predicates[0]=Path=/hris/**
spring.cloud.gateway.routes[12].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[12].filters[1]=StripPrefix=1
## app
spring.cloud.gateway.routes[13].id=wisdom-app
spring.cloud.gateway.routes[13].uri=lb://wisdom-app
spring.cloud.gateway.routes[13].predicates[0]=Path=/app/**
spring.cloud.gateway.routes[13].filters[0]=GatewaySwaggerHeaderFilter
spring.cloud.gateway.routes[13].filters[1]=StripPrefix=1
// wisdom-ds
// DsCustomerProcessor.java
// 从header获取数据源
((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getHeader("entCode");
// 从登陆会话获取数据源
UserInfoUtil.getUserDs();
// wisdom-common
// ControllerLoggerAspect.java
@Pointcut("@annotation(io.swagger.annotations.ApiOperation)")
public void controllerPointCut() {
}
@Around("controllerPointCut()")
public Object handlerControllerMethod(ProceedingJoinPoint pjp){
...
}
// wisdom-common
// PermissionInterceptor.java
实现小区、数据权限sql拦截
// wisdom-common
// PromiseExceptionHandler.java
@ExceptionHandler(PromiseException.class)
public ResponseEntity handleBizException(PromiseException ex) {
...
}
@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity argumentNotValidException(MethodArgumentNotValidException ex) {
...
}
@ExceptionHandler(FeignException.class)
public ResponseEntity handleException(FeignException ex){
...
}
@ExceptionHandler(BindException.class)
public ResponseEntity handleException(BindException ex){
...
}
@ExceptionHandler(Exception.class)
public ResponseEntity handleException(Exception ex) {
...
}