小编dme*_*ezg的帖子

修改 Zuul 过滤器中的查询参数

我正在尝试创建一个过滤器(“pre”,50),如果这些参数不存在,它将向请求添加默认查询参数。

到目前为止,我的工作基于以下方面的组合:

要创建新请求: http://www.ocpsoft.org/opensource/how-to-safely-add-modify-servlet-request-parameter-values/

在RequestContext对象中设置新请求: 如何将修改/包装的HTTPServletRequest传递给后续的Zuul Filters?

Map<String, String[]> extraParams = new TreeMap<String, String[]>();

if (!params.containsKey("language")) {
    extraParams.put("language", new String[]{"en"});
    params.put("language", Arrays.asList("en"));
}
if (!params.containsKey("country")) {
    extraParams.put("country", new String[]{"us"});
    params.put("country", Arrays.asList("us"));
}

HttpServletRequest request = ctx.getRequest();
HttpServletRequest wrapped = new WrappedRequest(request, extraParams);
ctx.setRequest(wrapped);
ctx.setRequestQueryParams(params);
Run Code Online (Sandbox Code Playgroud)

我还使用新参数修改了 RequestQueryParams,但它似乎也不起作用。

有任何想法吗?

java spring-boot netflix-zuul

3
推荐指数
1
解决办法
5551
查看次数

标签 统计

java ×1

netflix-zuul ×1

spring-boot ×1