我正在尝试使用Zuul将调用重定向到其他地方的下游系统.
在重定向中,我需要添加一个Header,其中包含接收重定向进行处理的api所需的数据.我似乎无法让下游系统检测到这些数据.附上是我的代码.
我正在使用Edgware.SR3中的Zuul,
Spring Boot 1.5.12
Zuul过滤器
@Component
public class RouteFilter extends ZuulFilter{
@Override
public Object run() {
//Testing to add header
context.getRequest().getParameterMap().put("api", new String[]{"api"});
context.getResponse().setHeader("api", api);
context.addZuulResponseHeader("api", "api");
context.addZuulRequestHeader("api", "api");
context.setSendZuulResponse(false);
context.put(FORWARD_TO_KEY, redirect_urls.get(key));
context.setResponseStatusCode(HttpStatus.SC_TEMPORARY_REDIRECT);
context.getResponse().sendRedirect(redirect_urls.get(key));
return null;
}
}