SpringBoot 配置跨域 和版本问题

SpringBoot 配置跨域 和版本问题

使用 springboot版本:2.3.6.RELEASE、2.4.2、2.7.4

使用返回新的过滤器报错!!!

报错信息: IllegalStateException

Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class
[org.springframework.web.cors.reactive.CorsWebFilter] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
@Configuration
public class CorsConfig {

    //@Bean
    public CorsWebFilter corsWebFilter(){
        //1.添加CORS配置信息
        CorsConfiguration config = new CorsConfiguration();
        //放行哪些原始域
        config.addAllowedOrigin("*");
        //是否发送Cookie信息
        config.setAllowCredentials(true);
        //放行哪些原始域(请求方式)
        config.addAllowedMethod("*");
        //放行哪些原始域(头部信息)
        config.addAllowedHeader("*");
        //暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息)
        config.addExposedHeader("*");

        //2.添加映射路径
        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
        configSource.registerCorsConfiguration("/**", config);

        //3.返回新的CorsFilter.

        return new CorsWebFilter(configSource);
    }

}

使用重写WebMvcConfigurer方法后可正常启动!!!

@Configuration
public class CorsConfig implements WebMvcConfigurer {
    static final String[] ORIGINS = new String[]{"GET", "POST", "PUT", "DELETE", "OPTIONS"};

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        // 所有的当前站点的请求地址,都支持跨域访问。
        registry.addMapping("/**")
                //是否发送Cookie
                .allowCredentials(true)
                //放行哪些原始域
                .allowedOrigins("*")
                //当前站点支持的跨域请求类型是什么
                .allowedMethods(ORIGINS)
                //  允许请求头中的header,默认都支持
                .allowedHeaders("*")
                //响应头中允许访问的header,默认为空
                .exposedHeaders("*")
                //预请求的结果的有效期,默认30分钟,这里为一天
                .maxAge(24 * 60 * 60);
    }
}

Original: https://www.cnblogs.com/malongfeistudy/p/16747817.html
Author: 有点小白的菜鸟
Title: SpringBoot 配置跨域 和版本问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/580481/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • java中abstract关键字(抽象类)

    需求 当父类某个方法,需要声明,但是又不确定如何实现时,可以用抽象方法,那么这个类就是抽象类 例如:父类是一个动物类,父类里面有很多方法,其中有一个方法是吃食物,但是不知道吃什么,…

    Java 2023年6月6日
    0103
  • 万字剖析Ribbon核心组件以及运行原理

    大家好,本文我将继续来剖析SpringCloud中负载均衡组件Ribbon的源码。本来我是打算接着OpenFeign动态代理生成文章直接讲Feign是如何整合Ribbon的,但是文…

    Java 2023年6月16日
    064
  • Java实现链表

    3、链表 MyLinkedList 有一个头指针,一个尾指针,还有链表长度size 内有两个类,一个是实现了Iterator接口的迭代器类,另一个是Node类,其中Node数据结构…

    Java 2023年6月15日
    069
  • 异常

    异常 Java的基本理念是 “结构不佳的代码不运行”。—《Java编程思想》 Java中使用 异常来提供一致的错误报告模型。 那何为异常呢?日常…

    Java 2023年6月5日
    083
  • volatile 关键字的 用法

    volatile关键字 什么是可见性? 可见性是指线程A改变变量的值后,线程B可以马上看到更改后变量的值 volatile的作用 关键字volatile提示线程每次从共享内存中读取…

    Java 2023年6月5日
    095
  • 安利一款Linux远程连接工具,MobaXterm

    ​前言 作为开发或者运维人员,平时工作都是在Windows上使用远程连接工具来连接Linux。现在主流的较为强大的远程连接工具是SecureCRT(主要是公司的技术人员使用)和Xs…

    Java 2023年6月5日
    089
  • mysql搭建主从复制(一主一从,双主双从)

    主从复制原理 Mysql 中有一个binlog 二进制日志,这个日志会记录下所有修改了的SQL 语句,从服务器把主服务器上的binlog二进制日志在指定的位置开始复制主服务器所进行…

    Java 2023年6月7日
    088
  • 5. SpringBoot框架华夏ERP源码审计

    环境搭建 华夏ERP基于SpringBoot框架和SaaS模式,可以算作是国内人气较高的一款ERP项目,看网上已经公开了漏洞,本次对此框架代码进行源码审计。 直接拖入IDEA加载,…

    Java 2023年5月29日
    076
  • 【笔试】1、强迫卖家

    小明是个强迫症卖家,有10000台设备,卖的均价要求最接近D元,输出卖出的台数N,总售价M 输入 0首先想得是暴力解答然后是二分查找,寻找卖出多少台才符合要求,但是一直找不到符合要…

    Java 2023年6月5日
    083
  • logback的配置文件加载顺序

    logback的配置文件加载过程还是很简单的,这里做一下简单记录 logback-classic已经包含了 logback-core和 slf4j的依赖,不需要额外引入了 ch.q…

    Java 2023年6月13日
    093
  • 【Java】finally用法

    一.概述 二. finally会执行的情况 1.有catch(无异常) 3.有catch(try异常) 4.有catch(catch异常) 5.有catch(try/catch都异…

    Java 2023年5月29日
    0110
  • dubbo源码分析3(dubbo中的spi机制)

    上一篇我们看过了jdk中的spi机制,也分析了它的缺点就是会一次性将META-INF/services下的配置文件中,对应接口的全部实现类都给加载; 而dubbo中的spi肯定是提…

    Java 2023年6月6日
    084
  • spring中bean的生命周期

    bean生命周期简易版 生命周期:1、创建对象(实例化) 生命周期:2、依赖注入(为属性赋值) 生命周期:3、初始化(需要通过bean中init-method属性指定初始化方法) …

    Java 2023年6月16日
    073
  • java的守护线程与非守护线程

    最近重新研究Java基础知识,发现以前太多知识知识略略带过了,比较说Java的线程机制,在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护…

    Java 2023年5月29日
    072
  • java中如何在ISO-8859-1和UTF-8之间相互转换呢?

    我们都知道在一些特殊的场景,我们需采用特殊的编码格式,如:UTF-8,但是系统默认的编码为ISO-8859-1 那么我们就需要将编码转换为我们所需的编码格式, 今天我就遇到这个问题…

    Java 2023年6月15日
    055
  • 关于IDEA中Tomcat中文乱码的解决方案

    进入Tomcat/config文件夹下,打开编辑logging.properties 然后查看该文件内是否存在 java.util.logging.ConsoleHandler.e…

    Java 2023年6月8日
    094
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球