核心模块 shenyu-plugin-param-mapping
核心类 org.apache.shenyu.plugin.param.mapping.ParamMappingPlugin
pom.xml
文件中添加 paramMapping
的支持。<!-- apache shenyu param_mapping plugin start--> <dependency> <groupId>org.apache.shenyu</groupId> <artifactId>shenyu-spring-boot-starter-plugin-param-mapping</artifactId> <version>${project.version}</version> </dependency> <!-- apache shenyu param_mapping plugin end-->
shenyu-admin
--> 基础配置 --> 插件管理 --> paramMapping
设置为开启。选择器和规则设置,请参考:选择器和规则管理。
只有匹配的请求,才会修改请求体。
参数解析:
addParameterKeys
: 在请求体中增加一个 key-value
replaceParameterKeys
: 替换请求体中的某一个 key
,key
是要被替换的值,value
是替换后的值removeParameterKeys
: 移除请求体中的某一个 key
修改请求体是通过 JSONPath
来实现的, $.
代表根目录
上面的配置,插件开启前,请求内容为
{"id":3,"data":{"value":"18","age":"36"}}
插件开启后,请求内容为
{"name":"shenyu","userId":3,"data":{"age":"36"}}
上述操作,增加一个name:shenyu
,把id
替换为userId
,移除data
中的value
。
shenyu-admin
--> 基础配置 --> 插件管理 --> paramMapping
设置为关闭。