spring cloud gateway ZuulFilter 编写

@Configuration
class AccessFilter extends ZuulFilter {

    @Autowired
    HttpServletRequest request;

    @Override
    public boolean shouldFilter() {
        return true;
    }

    @Override
    public Object run() {
        RequestContext ctx = RequestContext.getCurrentContext();
        Cookie[] cookies = request.getCookies();
        StringBuilder str = new StringBuilder();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                str.append(cookie.getName()).append("=").append(cookie.getValue()).append(";");
            }
            ctx.addZuulRequestHeader("Cookie", str.toString());
        }
        ctx.setSendZuulResponse(true);
        ctx.setResponseStatusCode(ctx.getResponseStatusCode());
        return ctx;
    }

    @Override
    public String filterType() {
        return PRE_TYPE;
    }

    @Override
    public int filterOrder() {
        return 10000;
    }
}

猜你喜欢

转载自blog.csdn.net/lht931942788/article/details/81298066