1. 程式人生 > 實用技巧 >SpringBoot跨域問題

SpringBoot跨域問題

對於前後端分離的專案,跨域問題十分明顯。同一協議,同一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);
    }
}