mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 21:57:56 +08:00
动态修改请求参数
This commit is contained in:
33
doc/docs/files/10111_动态修改请求参数.md
Normal file
33
doc/docs/files/10111_动态修改请求参数.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# 动态修改请求参数
|
||||
|
||||
自1.14.0开始,zuul网关支持动态修改请求参数。即在网关修改客户端传递过来的参数,然后发送到微服务端。
|
||||
|
||||
```
|
||||
客户端参数{"name": "jim"} --> zuul中修改为{"name": "Lucy"} --> 微服务端将收到{"name": "Lucy"}
|
||||
```
|
||||
|
||||
使用场景:客户端请求参数经过加密,在网关解密后,再次发送明文参数给微服务端
|
||||
|
||||
- 如何使用
|
||||
|
||||
在网关springboot启动函数中添加如下代码
|
||||
|
||||
```java
|
||||
public static void main(String[] args) {
|
||||
ApiConfig.getInstance().setZuulParameterFormatter(requestParams -> {
|
||||
// 获取biz_content
|
||||
JSONObject jsonObject = requestParams.getJSONObject(ParamNames.BIZ_CONTENT_NAME);
|
||||
// 修改biz_content中的值
|
||||
jsonObject.put("name", "name修改了111");
|
||||
jsonObject.put("remark", "remark修改了222");
|
||||
// 重新设置biz_content
|
||||
requestParams.put(ParamNames.BIZ_CONTENT_NAME, jsonObject);
|
||||
});
|
||||
SpringApplication.run(SopGatewayApplication.class, args);
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
其中requestParams是客户端传递过来的参数,直接修改其中的值即可。
|
||||
|
||||
更多参考:com.gitee.sop.gatewaycommon.zuul.filter.PreParameterFormatterFilter.java
|
Reference in New Issue
Block a user