parent
							
								
									a01a6e88d3
								
							
						
					
					
						commit
						f32eccd492
					
				| @ -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…
					
					
				
		Reference in new issue