1. 概述
1.1 插件名称
- Request(请求)插件
1.2 适用场景
- 请求插件能够对
uri
的请求参数进行自定义修改。
1.3 插件功能
Apache ShenYu
网关在对目标服务进行代理调用的时候,允许用户使用request
插件对请求参数、请求头以及Cookie
来添加、修改、移除请求头。
1.4 插件代码
- 核心模块
shenyu-plugin-redirect
- 核心类
org.apache.shenyu.plugin.request.RequestPlugin
1.5 添加自哪个 shenyu 版本
- 2.4.0
2. 如何使用插件
2.1 插件使用流程图
2.2 导入 pom
- 在网关的
pom.xml
文件中添加插件 maven 配置,默认已经添加。
<!-- apache shenyu request plugin start-->
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-spring-boot-starter-plugin-request</artifactId>
<version>${project.version}</version>
</dependency>
<!-- apache shenyu request plugin end-->
2.3 启用插件
在
shenyu-admin
—> 基础配置 —> 插件管理 —>request
设置为开启。如果此处页面上存在需要配置
ruleHandlePageType
的选项,可以配置任一字符串,如:custom
,对请求没有影响,后面版本会移除掉该选项。
2.4 配置插件
选择器和规则,只有匹配的请求,才会进行转发和重定向,请参考:选择器规则管理。
shenyu-admin
插件列表 —>HttpProcess
—>Request
,先添加选择器,然后添加规则:添加选择器:
添加规则:
2.5 示例
2.5.1 添加请求参数
- 我们在
规则
配置自定义路径时,应该为一个可达的服务路径。 - 当匹配到请求后,根据自定义的路径,
Apache ShenYu
网关会进行服务跳转。
- 参考本地部署启动 admin 和网关
- 参考2.2导入 pom 并重启网关
- 参考2.3启用插件
- 启动 shenyu-examples-http 项目
- 参考2.4及选择器规则管理配置插件规则
- 接口调用:http-test-api.http
调用选择器和规则声明的接口,将会看到request插件中配置的请求参数。
3. 如何禁用插件
在
shenyu-admin
—> 基础配置 —> 插件管理 —>Request
设置为禁用。