SpringWebFlux Cors 实现跨域

场景: 项目中使用VE 框架来和后端开发人员配合完成一个有限制的请求 。

 项目说明:基于SpringWebFlux 来构建SpringBoot 项目

SpringWebFlux Cors 实现跨域_第1张图片

基于Java 配置的 Cors 

 

@Bean
    public WebFilter corsFilter() {
        return (ServerWebExchange ctx, WebFilterChain chain) -> {
            ServerWebExchange serverWebExchange = null;
            String token = ctx.getRequest().getHeaders().get("token") == null ? "" : ctx.getRequest().getHeaders().get("token").get(0);
            if (ctx.getRequest().getMethod() == HttpMethod.OPTIONS) {
                return chain.filter(ctx);
            }
            if (token.equalsIgnoreCase("token")) {
                return chain.filter(ctx);
            } else {
                serverWebExchange = ctx.mutate().request(ctx.getRequest().mutate().path("/authorized").method(HttpMethod.GET).build()).build();
                return chain.filter(serverWebExchange);

            }

        };
    }

 

你可能感兴趣的:(SpringWebFlux)