SpringCloud專案跨域配置
阿新 • • 發佈:2022-03-04
在SpringCloud專案中,前後端分離目前很常見,在除錯時會遇到前端頁面通過不同域名或IP訪問微服務的後臺。
例如前端人員會在本地起HttpServer 直連後臺開發本地起的服務,此時,如果不加任何配置,前端頁面的請求會被瀏覽器跨域限制攔截,所以,業務服務常常會新增跨域配置。
一、全域性跨域配置:
springboot專案可在全域性專案配置中新增如下配置:
import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; @Configuration @Slf4j public class MyProjectConfig { @Bean public CorsFilter corsFilter() { log.debug("CORS限制開啟"); CorsConfiguration config= new CorsConfiguration(); //僅在開發環境設定為* config.addAllowedOrigin("*"); config.addAllowedHeader("*"); config.addAllowedMethod("*"); config.setAllowCredentials(true); UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); configSource.registerCorsConfiguration("/**", config); return new CorsFilter(configSource); } }
二、區域性跨域配置:
在Controller類或者方法上新增 @CrossOrigin 註解即可。