1. 概述
#
1.1 插件名称- Rewrite插件
#
1.2 适用场景- 通过重写请求路径, 可以使用与目标服务不同的uri。
#
1.3 插件功能- 该插件用于重写请求uri。
#
1.4 插件代码核心模块
shenyu-plugin-rewrite
核心类
org.apache.shenyu.plugin.rewrite.RewritePlugin
#
1.5 添加自哪个Shenyu版本- 2.4.0
2. 如何使用插件
#
2.1 插件使用流程图#
2.2 导入pom- 在网关的
pom.xml
文件中添加插件 maven 配置。
<dependency> <groupId>org.apache.shenyu</groupId> <artifactId>shenyu-spring-boot-starter-plugin-rewrite</artifactId> <version>${project.version}</version> </dependency>
#
2.3 启用插件- 在
shenyu-admin
--> 基础配置 --> 插件管理 -->rewrite
设置为开启。
#
2.4 配置插件#
2.4.1 插件配置- 在使用前要启用插件。
- 如果不再使用插件需要禁用。
#
2.4.2 选择器配置- 请参考: 选择器和规则管理.
#
2.4.3 规则配置- 参数解释:
regex
: 匹配uri中要重写部分的正则表达式。replace
: 替换的内容。percentage
: 重写的百分比,100表示100%。rewriteMetaData
: 是否重写元数据,true表示开启,开启后可跨插件重写uri。
#
2.5 示例#
2.5.1 重新uri示例shenyu-examples-http
项目#
2.5.1.1 运行 - 使用shenyu-examples-http, 参考
#
2.5.1.1 插件配置- 参考2.4.1配置插件.
#
2.5.1.2 选择器配置- 参考2.4.2配置选择器
#
2.5.1.3 规则配置请求 /http/hello
将被重写成/hi
。
#
2.5.1.4 验证结果使用工具(如Postman)发起请求:
3. 如何禁用插件
- 在
shenyu-admin
--> 基础配置 --> 插件管理 -->rewrite
设置为关闭。