pull/10/MERGE
tanghc 4 years ago
parent a01a6e88d3
commit f32eccd492
  1. 58
      sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/controller/FilterPrintController.java

@ -1,58 +0,0 @@
package com.gitee.sop.gatewaycommon.gateway.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.context.ApplicationContext;
import org.springframework.core.Ordered;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author tanghc
*/
@Controller
public class FilterPrintController {
@Autowired
private ApplicationContext applicationContext;
@RequestMapping("sop/listGlobalFilters")
public Mono<ResponseEntity<String>> listGlobalFilters(ServerWebExchange exchange) {
Map<String, GlobalFilter> filterMap = applicationContext.getBeansOfType(GlobalFilter.class);
List<String> filters = filterMap.values()
.stream()
.sorted(new Comparator<GlobalFilter>() {
@Override
public int compare(GlobalFilter o1, GlobalFilter o2) {
if (o1 instanceof Ordered && o2 instanceof Ordered) {
Ordered order1 = (Ordered) o1;
Ordered order2 = (Ordered) o2;
return Integer.compare(order1.getOrder(), order2.getOrder());
}
return 0;
}
})
.map(globalFilter -> {
int order = 0;
if (globalFilter instanceof Ordered) {
Ordered ordered = (Ordered) globalFilter;
order = ordered.getOrder();
}
return order + ", " + globalFilter.getClass().getSimpleName();
})
.collect(Collectors.toList());
String result = String.join("<br>", filters);
return Mono.just(ResponseEntity.ok(result));
}
}
Loading…
Cancel
Save