这篇文章主要讲解了“java后端进行跨域的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java后端进行跨域的方式有哪些”吧!
一、使用@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); } }