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>