mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 12:56:28 +08:00
4.3.0
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
|
||||
}
|
Reference in New Issue
Block a user