springboot 跨域問題

    ~部分跨域

@CrossOrigin註解支持類級別,方法級別添加。可以在controller類或者方法上添加,支持部分接口跨域。在兩者上都添加時,方法級別的覆蓋類級別的。

屬性 說明
origins 允許的域列表,“*”表示支持所有的域
maxAge 預響應緩存的最大持續時間,單位秒
allowedHeaders 在實際請求中允許的請求頭列表,“*”表示允許所有的headers
exposedHeaders 在響應header中設置客戶端可見的header,該header不是常見的Cache-Control,Content-Language等,此處設置的header都來自於“Access-Control-Expose-Headers”中。
methods  支持的HTTP請求方法集合
allowCredentials

設置是否發送憑證,該值是在預請求的響應的“Access-Control-Max-Age”上設置的。該值決定在發起跨域請求時,瀏覽器是否需要發送憑證。

false  —  cookies不應該包括在內;

""    —  意味着未定義,允許所有值;

true   —  預響應將包括值設置爲true的報頭Access-Control-Allow-Credentials

 

 

 

 

 

 

 

 

 

 

~全局跨域

在springboot項目環境下,聲明如下bean:

@Configuration
public class ConfigService {

    @Bean
    public WebMvcConfigurer corsConfigurer()
    {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**").allowedOrigins("*").allowedMethods("*").allowCredentials(true);
            }
        };
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章