场景: 项目中使用VE 框架来和后端开发人员配合完成一个有限制的请求 。
项目说明:基于SpringWebFlux 来构建SpringBoot 项目
基于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);
}
};
}