如何在下行到另一个服务之前修改Spring Cloud Gateway中的查询字符串
。
gateway/api/foo?query=one|two|three¶m=1
//to
service/api/foo?query=one%20two%20three¶m=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 ());