使用zuul可以将请求重定向到http://www.google.com等外部链接?
我有这种情况。
在网页中有一堆指向多个网站的链接。如果您有权访问此页面并将浏览器重定向到外部链接,则单击其中一个zuul检查。
我已经创建了一个路由过滤器。
-- get dates
select distinct `date` from stats_db.table_growth_history order by `date` desc limit 1 INTO @this_week ;
set @last_month := @this_week - interval 4 week ;
-- pivot table
SET @report_monthly = NULL;
SET @report_monthly
= CONCAT('select table_schema,table_name,
max(case when date = @last_month then round(((data_length + index_length) / 1024 / 1024), 2) end) as `last_month__',@last_month,'`,
max(case when date = @this_week then round(((data_length + index_length) / 1024 / 1024), 2) end) as `current_week__',@this_week,'`,
(max(case when date = @this_week then round(((data_length + index_length) / 1024 / 1024), 2) end) -
max(case when date = @last_month then round(((data_length + index_length) / 1024 / 1024), 2) end)
) as data_grow
from stats_db.table_growth_history t
where date in (@last_month , @this_week)
group by table_name');
PREPARE stmt FROM @report_monthly;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
如何将用户浏览器重定向到google.com?
谢谢。
2016年9月20日更新
我设法解决了我的问题,将过滤器类型从“pre”更改为“post”,并将Location HTTP标头添加到响应中。
public class TestZuulFilter extends ZuulFilter {
@Override
public String filterType() {
return "route";
}
@Override
public int filterOrder() {
return 5;
}
@Override
public boolean shouldFilter() {
// ... filter logic ...
}
@Override
public Object run() {
// ... permission check ...
RequestContext ctx = RequestContext.getCurrentContext();
//todo redirect
}
}
现在它有效,但这是正确的方法吗?