SpringCloud的zuul网关添加或修改(过滤)传递的参数

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:https://blog.csdn.net/qq_31122833。 https://blog.csdn.net/qq_31122833/article/details/83022904

业务场景:页面传递的参数token是随机码,后台接收后需要进一步转换,但每一个接口都去添加转换步骤很不爽。

解决:由于所有请求都会先经过zuul过滤,所以将这个步骤放在这是最合适不过的了。

代码:

//1、这个是原来的参数数据
String accessToken = request.getParameter("accessToken");
//2、转换后的数据
String id = redis.get(accessToken);
//3、将转换后的数据放入请求参数中
request.getParameterMap();
Map<String, List<String>> requestQueryParams = ctx.getRequestQueryParams();
if (requestQueryParams==null) requestQueryParams=new HashMap<>();
//4、将要新增的参数添加进去,被调用的微服务可以直接 去取,就想普通的一样,框架会直接注入进去
ArrayList<String> paramsList = new ArrayList<>();
paramsList.add(id);
requestQueryParams.put("accessToken", paramsList);
ctx.setRequestQueryParams(requestQueryParams);

猜你喜欢

转载自blog.csdn.net/qq_31122833/article/details/83022904