在Spring云网关下行前如何修改查询字符串参数



如何在下行到另一个服务之前修改Spring Cloud Gateway中的查询字符串

gateway/api/foo?query=one|two|three&param=1
//to
service/api/foo?query=one%20two%20three&param=1

是否可能在application.yml配置文件?

我也在努力实现这一点。我没有得到一个干净的解。我用URL重写来管理这个,如下所示。希望能有所帮助。

URI URI = URI.create(route.getUri() + exchange.getRequest().getURI().getPath()+ "?"+ encodedString);

ServerHttpRequest request = exchange.getRequest().mutate().uri(uri).build();

exchange.getAttributes () .put (ServerWebExchangeUtils。GATEWAY_REQUEST_URL_ATTR request.getURI ());

返回chain.filter (exchange.mutate () .request(请求).build ());

相关内容

  • 没有找到相关文章

最新更新