我有以下yaml规范:

问题描述

如何订购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。