gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 08:01:28 24 4
gpt4 key购买 nike

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

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

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

在 RequestContext 对象中设置新请求: How to pass modified/wrapped HTTPServletRequest to subsequent 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);

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

有什么想法吗?

最佳答案

我以前遇到过这个问题,请按以下方法:

    Map<String, List<String>> params = ctx.getRequestQueryParams();
if (params == null) {
params = Maps.newHashMap();
}
for (String key : checkMap.keySet()) {
params.put(key, Lists.newArrayList(checkMap.get(key).toString()));
}
ctx.setRequestQueryParams(params);

关于java - 修改 Zuul 过滤器中的查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37623895/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com