ruoyi微服务如何解决开发环境下跨域问题
·
一开始的解决思路如下:
若依微服务如何解决跨域
发现都行不通,最后通过实现WebFilter接口且重写filter方法解决了此问题,代码如下:
@Component
public class CorsFilter implements WebFilter {
private static final String MAX_AGE = "3600L";
@Override
public Mono<Void> filter(ServerWebExchange exchange, WebFilterChain chain) {
ServerHttpRequest request = exchange.getRequest();
if (!CorsUtils.isCorsRequest(request)){
return chain.filter(exchange);
}
ServerHttpResponse response = exchange.getResponse();
HttpHeaders headers = response.getHeaders();
headers.add("Access-Control-Allow-Origin","*");
headers.add("Access-Control-Allow-Methods", "*");
headers.add("Access-Control-Allow-Headers", "*");
headers.add("Access-Control-Max-Age", MAX_AGE);
if (request.getMethod() == org.springframework.http.HttpMethod.OPTIONS) {
response.setStatusCode(org.springframework.http.HttpStatus.OK);
return Mono.empty();
}
return chain.filter(exchange);
}
}
和定义Webfilter的bean很像,但是不知道为什么定义bean始终无法解决跨域问题,也欢迎大家一起来讨论一下。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)