首页 > 其他分享 >随笔(七)『SpringBoot 解决跨域(全局)』

随笔(七)『SpringBoot 解决跨域(全局)』

时间:2022-12-15 11:47:07浏览次数:54  
标签:CorsFilter SpringBoot corsConfiguration springframework org import 随笔 跨域

1、问题:Access-Control-Allow-Origin

2、解决方式一:返回新的CorsFilter【全局】

package com.baihua.common.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;

/**
 * 通过返回新的CorsFilter解决跨域问题【全局】
 */
@Configuration
public class CrosConfig {

    @Bean
    public CorsFilter getCorsFilter() {
        // 1、配置CROS信息
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*"); // 放行哪些请求源
        corsConfiguration.addAllowedMethod("*"); // 放行哪些请求方式(如: GET、POST...)
        corsConfiguration.addAllowedHeader("*"); // 放行哪些请求头
        corsConfiguration.setMaxAge(3600L); // 跨域请求最大有效时长

        // 2、对接口配置跨域设置
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", corsConfiguration);

        // 3、返回新的CorsFilter
        return new CorsFilter(source);
    }
}

3、解决方式二:重写WebMvcConfigurer接口的addCorsMappings方法【全局】

package com.baihua.common.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 通过重写WebMvcConfigurer接口的addCorsMappings方法,解决跨域问题【全局】
 */
@Configuration
public class WebMvcCrosConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")  // 映射路径
                .allowedOrigins("*") // 放行哪些请求源
                .allowedMethods("*") // 放行哪些请求方式(如: GET、POST...)
                .allowedHeaders("*") // 放行哪些请求头
                .maxAge(3600L); // 跨域请求最大有效时长
    }
}

4、测试结果【成功解决】

标签:CorsFilter,SpringBoot,corsConfiguration,springframework,org,import,随笔,跨域
From: https://www.cnblogs.com/xiaonuanxin/p/16984605.html

相关文章