作为网关组件,Spring Cloud Zuul对于跨域的支持是必不可少的,一般有如下两种方式设置跨域:
(1)在类或方法上增加@CrossOrigin注解
@RestController
@RequestMapping("/goods")
@CrossOrigin // 设置控制器支持跨域
public class GoodsController {
@GetMapping("/search")
@CrossOrigin(allowCredentials = "true") // 设置控制器某个方法支持跨域,并且允许Cookie跨域
public Object searchGoods(){
return "";
}
}
如上所示,如果要让GoodsController控制器支持跨域,则在控制器类上加@CrossOrigin注解;如果只是想让控制器中的某个方法支持跨域,则在该方法上加@CrossOrigin注解。
(2)在Spring Cloud Zuul中使用CorsFilter过滤器
在Spring Cloud Zuul项目中新建一个类/config/CorsFilter,通过这个配置类实现网关的全局跨域配置;完整代码如下所示:
@Configuration
public class CorsConfig {
@Bean
public CorsFilter corsFilter() {
CorsConfiguration