Chao's Blog Chao's Blog
首页
  • vue

    • vue路由
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • java
  • spring
  • springboot
  • springcloud
  • git
  • maven
  • nginx
  • tomcat
  • springmvc
  • jvm
  • 图数据库
  • mysql数据库
  • redis数据库
  • windows下docker安装nginx并挂载目录
  • linux命令
  • linux安装软件
  • linux脚本
  • idea
  • vscode
  • 归档
  • 综合项目

    • 若依项目
    • mall项目
  • java
  • mybatis
  • xxl-job
  • mybatis
GitHub (opens new window)

~chao

永远菜鸟,不断努力~
首页
  • vue

    • vue路由
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • java
  • spring
  • springboot
  • springcloud
  • git
  • maven
  • nginx
  • tomcat
  • springmvc
  • jvm
  • 图数据库
  • mysql数据库
  • redis数据库
  • windows下docker安装nginx并挂载目录
  • linux命令
  • linux安装软件
  • linux脚本
  • idea
  • vscode
  • 归档
  • 综合项目

    • 若依项目
    • mall项目
  • java
  • mybatis
  • xxl-job
  • mybatis
GitHub (opens new window)
  • java

  • spring

  • springboot

    • springboot注解
    • aop低版本方法内调用方法捕获不到的解决办法
    • springboot 后端解决跨域问题
      • springboot 整合seata
      • springboot的核心注解
      • Spring boot admin 安全配置(非注册中心模式)
      • Nacos和Email整合Spring Boot Admin
      • springboot通过接口重新加载某个bean
    • springcloud

    • git

    • maven

    • nginx

    • tomcat

    • springmvc

    • jvm

    • 正则表达式

    • 消息中间件

    • python

    • 后端
    • springboot
    ~chao
    2022-11-14
    目录

    springboot 后端解决跨域问题

    # springboot 后端解决跨域问题

    解决跨域问题在java端可以使用注释@CrossOrigin 解决,

    # 如果想要对某一接口配置 CORS,可以在方法上添加 @CrossOrigin 注解
    @CrossOrigin(origins = {"http://localhost:9000", "null"})
    @RequestMapping(value = "/test", method = RequestMethod.GET)
    public String greetings() {
        return "{\"project\":\"just a test\"}";
    }
    
    1
    2
    3
    4
    5
    # 如果想对一系列接口添加 CORS 配置,可以在类上添加注解,对该类声明所有接口都有效:
    @CrossOrigin(origins = {"http://localhost:9000", "null"})
    @RestController
    @SpringBootApplication
    public class SpringBootCorsTestApplication {
        
    }
    
    1
    2
    3
    4
    5
    6
    # 如果想添加全局配置,则需要添加一个配置类 :
    @Configuration
    public class WebMvcConfig extends WebMvcConfigurerAdapter {
    
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                    .allowedOrigins("*")
                    .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                    .maxAge(3600)
                    .allowCredentials(true);
        }
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 另外,还可以通过添加 Filter 的方式,配置 CORS 规则,并手动指定对哪些接口有效。
    @Bean
    public FilterRegistrationBean corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);	config.addAllowedOrigin("http://localhost:9000");
        config.addAllowedOrigin("null");
        config.addAllowedHeader("*");
        config.addAllowedMethod("*");
        source.registerCorsConfiguration("/**", config); // CORS 配置对所有接口都有效
        FilterRegistrationBean bean = newFilterRegistrationBean(new CorsFilter(source));
        bean.setOrder(0);
        return bean;
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    编辑 (opens new window)
    上次更新: 2024/01/26, 05:03:22
    aop低版本方法内调用方法捕获不到的解决办法
    springboot 整合seata

    ← aop低版本方法内调用方法捕获不到的解决办法 springboot 整合seata→

    最近更新
    01
    python使用生成器读取大文件-500g
    09-24
    02
    Windows环境下 Docker Desktop 安装 Nginx
    04-10
    03
    使用nginx部署多个前端项目(三种方式)
    04-10
    更多文章>
    Theme by Vdoing | Copyright © 2022-2024 chaos | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式