java后端进行跨域的几种方式小结

作者:是啦啦啦呀 时间:2021-09-03 14:53:31 

一、使用@CrossOrigin注解

在controller类上加上@CrossOrigin注解,就能对这个类下面所有方法进行跨域访问了

@CrossOrigin
@Controller
@RequestMapping("/sztrade/channel")
public class TradeChannelController {
}

二、重写addCorsMappings方法

新建一个CorsConfiguration类,实现WebMvcConfigurer 接口
代码如下(示例):

@Configuration
public class CorsConfiguration implements WebMvcConfigurer {
   @Override
   public void addCorsMappings(CorsRegistry registry) {
       registry.addMapping("/**")
               .allowedOriginPatterns("*")
               .allowCredentials(true)
               .allowedMethods("GET", "POST", "DELETE", "PUT")
               .maxAge(3600);
   }
}

三、添加CORS过滤器

@Configuration
public class CorsConfig {

    @Bean
    public CorsFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        // 设置访问源地址
        config.addAllowedOrigin("*");
        // 设置访问源请求头
        config.addAllowedHeader("*");
        // 设置访问源请求方法
        config.addAllowedMethod("*");
        // 有效期 1800秒
        config.setMaxAge(1800L);
        // 添加映射路径,拦截一切请求
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        // 返回新的CorsFilter
        return new CorsFilter(source);
    }
}

来源:https://blog.csdn.net/Alfred_tfk/article/details/129517303

标签:java,后端跨域
0
投稿

猜你喜欢

  • 详解Java利用同步块synchronized()保证并发安全

    2021-09-12 12:15:07
  • Java8新特性之接口中的默认方法和静态方法

    2021-08-21 07:25:43
  • Java BoxLayout(盒子布局)布局管理器解析

    2022-07-19 05:26:09
  • IDEA中sout快捷键无效问题的解决方法

    2023-11-28 21:27:02
  • Object类toString()和equals()方法使用解析

    2022-10-28 08:48:43
  • js 交互在Flutter 中使用 webview_flutter

    2023-07-20 22:40:14
  • C#对XmlHelper帮助类操作Xml文档的通用方法汇总

    2023-06-29 05:37:01
  • 实例代码讲解JAVA 观察者模式

    2023-09-11 19:22:18
  • C# 字符串与unicode互相转换实战案例

    2023-12-23 09:29:54
  • C#中缓存的基本使用方法

    2023-02-23 13:47:44
  • C#中的委托介绍

    2023-07-27 13:26:23
  • TextView实现跑马灯效果 就这么简单!

    2023-06-25 18:42:24
  • Java基于正则实现的日期校验功能示例

    2021-09-30 02:43:26
  • SpringBoot实现启动项目后立即执行的方法总结

    2022-07-31 15:01:16
  • 事务在c#中的使用

    2021-11-27 23:30:29
  • Mybatis + js 实现下拉列表二级联动效果

    2022-09-14 03:43:06
  • JavaWeb实现文件上传下载功能实例详解

    2023-05-08 19:43:51
  • 深入浅析SpringBoot自动配置原理

    2022-11-19 01:49:24
  • Java实例讲解Comparator的使用

    2021-07-15 09:16:58
  • Java方法的覆盖与隐藏的区别分析

    2021-12-19 05:15:52
  • asp之家 软件编程 m.aspxhome.com