SpringBoot跨域問題
阿新 • • 發佈:2021-01-08
對於前後端分離的專案,跨域問題十分明顯。同一協議,同一ip,同一埠,三同中有一不同就產生了跨域。解決辦法很簡單,在後臺配置允許跨域即可:
新建一個配置類CorsConfig,設定其允許跨域,並注入到spring中。
package com.zys.springbootjwt.config;
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
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 1允許服務端訪問
corsConfiguration.addAllowedOrigin("*");
// 1.1允許本地訪問
corsConfiguration.addAllowedOrigin("*");
// 2允許任何頭
corsConfiguration.addAllowedHeader("*");
// 3允許任何方法(post、get等)
corsConfiguration.addAllowedMethod("*");
// 4 允許withCredentials報文頭
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}