问题描述
如何订购FilterFactory
spring:
cloud:
gateway:
routes:
- id: test
uri: http://httpbin.org:80
predicates:
- Path=/test/**
filters:
- name: RewritePath
regexp: /test/(?<segment>.*)
replacement: /$\{segment}
但是我也有自己的自定义过滤器
public class MyGlobalFilter implements GlobalFilter,Ordered {
这使我可以指定订单。
我不知道两件事:FilterFactory RewritePath的订单号是什么?如何触发它出现在我自己的MyGlobalFilter之前或之后?
解决方法
(1)如果'gateway.routes'中定义的过滤器没有顺序,则会自动从1开始对其进行排序。 (2)您可以使用内部GatewayFilterFactory定义有序GlobalFilter或OrderedGatewayFilterFactory。