springcloud微服务框架,是一组组件,eureka服务注册中心,zuul路由等等
一般都是在zuul上配好url路径映射到各个服务,所以对外都是访问zuul服务的端口,但是在web服务设置了跨域的Interceptor后没有起作用(我的chrome浏览器,postman正常),关掉web服务,依然有返回http
需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六
最后确定是在zuul上没有设置跨域header
跨域时,可能会先OPTIONS访问,zuul直接返回了,所以需要给zuul添加跨域header
import org.springframework.web.cors.UrlBasedCorsConfigurationSource
import org.springframework.web.cors.CorsConfiguration
@Bean
public CorsFilter corsFilter() {
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
final CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
List<String> origins = new ArrayList<>();
origins.add("*");
config.addAllowedOrigin(origins);
List<String> headers = new ArrayList<>();
headers.add("*");
config.addAllowedHeader(headers);
List<String> methods = new ArrayList<>();
methods.add("OPTIONS");
methods.add("GET");
methods.add("POST");
config.addAllowedMethod(methods);
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
网友评论