gateway整合filters

Unable to find GatewayFilterFactory with name AddRequestParamter

首先确定你要做的是用nacos整合gateway,然后使用gateway配置filters对请求进行修改。

一、首先在gateway微服务的application.yml或者bootstrap.yml文件进行filter的配置

// A code block
server:
  port: 8088
spring:
  application:
    name: gateway-test
  cloud:
    gateway:
      routes:
        - id: add_request_parameter_route
          uri: lb://service-consumer #lb代表负载均衡,后面的是你的服务ID
          filters:
          - AddRequestHeader=X-Request-Foo, BarTest #请求头添加X-Request-Foo:BarTest
          - AddResponseHeader=X-Response-Foo, Bar   #响应参数添加X-Response-Foo:Bar
          - AddRequestParameter=foo, bar            #请求参数添加foo:bar
          predicates:  #对在这个时间之后的请求转发到lb://service-consumer
          - After=2019-12-25T14:33:47.789+08:00

二、我们对gateway发起在2019-12-25之后的任何请求都将被转发到我们服务ID为service-consumer的微服务模块。
在这里插入图片描述我发送了请求,并且响应参数里面含有我们在yml文件里面设置的参数。这个请求我们为什么看不到设置的request参数呢?

三、关于我们设置的request参数

在这里插入图片描述我们前面访问的http://localhost:8088/Cus_echo/tests这个请求,就会被网关转发到这个微服务ID为service-consumer的微服务,所以我们在yml文件设置的请求头参数在这里可以获取到。如果要获取请求参数,可以自己获取一下。

maven依赖如下:

		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.2.2.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

版权声明:本文为qq_43184345原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。