1. 概述
1.1 插件名称
- Mock插件
1.2 适用场景
- 为请求指定响应状态码和响应体方便进行测试。
1.3 插件功能
- 设置请求的响应状态码和响应体。
- 支持配置
${}占位符自动生成数据。 - 注意: mock 插件为了支持更加灵活的数据生成方式,支持用户使用 SpEL 表达式生mock数据。使用SpEL表达式可能会导致执行恶意脚本或应用破坏性程序的风险。我们建议您在使用时格外小心,尽可能在安全的环境中使用,例如内网环境,并遵循安全最佳实践。
1.4 插件代码
- 核心模块
shenyu-plugin-mock - 核心类
org.apache.shenyu.plugin.mock.MockPlugin
1.5 添加自哪个 shenyu 版本
- 2.5.0
2. 如何使用插件
2.1 导入 pom
- 在网关的
pom.xml文件中添加插件 maven 配置。
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-spring-boot-starter-plugin-mock</artifactId>
<version>${project.version}</version>
</dependency>
2.2 启用插件
- 在
shenyu-admin--> 基础配置 --> 插件管理 -->mock设置为开启。

2.3 配置插件
- 选择器和规则设置,请参考:选择器和规则管理。
- shenyu-admin mock 插件配置,支持配置 httpStatusCode 和 responseContent:
- httpStatusCode:配置请求的响应码。
- responseContent:配置响应体内容,支持配置
${}占位符生成随机数据 。

2.4 ${} 支持的语法
${int|min-max}
- 说明: 生成
min到max的随机整数,包含min和max。 - 示例:
${int|10-20}
${double|min-max|format}
- 说明: 生成
min到max的随机浮点数 ,包含min和max,并按照format进行格式化。 - 示例:
${double|10-20},${double|10-20.5|%.2f}
${email}
- 说明: 生成随机的邮箱地址。
${phone}
- 说明: 生成随机的13位手机号码。
${zh|min-max}
- 说明: 生成长度为
min到max(包含min和max)的随机中文字符串。 - 示例:
${zh|10-20}
${en|min-max}
- 说明: 生成长度为
min到max(包含min和max)的随机英文字符串。 - 示例:
${en|10-20}
${bool}
- 说明: 生成随机的
boolean类型的值 即true或false。
${list|[arg1,arg2...]}