Java后端解决前后端跨域的3种方法
Java后端解决前后端跨域的3种方法。
·
1.在方法上使用@CrocsOrigin注解

2.在配置类包内添加一个返回值为CorsFilter过滤器的配置类
package com.example.springboot.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;
/**
* @Date: 2022/10/2/002 下午 4:55
* @Author: ljm
* @Description:
*/
@Configuration
public class CorsConfig {
// 当前跨域请求最大有效时长。这里默认1天
private static final long MAX_AGE = 24 * 60 * 60;
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*"); // 1 设置访问源地址
corsConfiguration.addAllowedHeader("*"); // 2 设置访问源请求头
corsConfiguration.addAllowedMethod("*"); // 3 设置访问源请求方法
corsConfiguration.setMaxAge(MAX_AGE);
source.registerCorsConfiguration("/**", corsConfiguration); // 4 对接口配置跨域设置
return new CorsFilter(source);
}
}
3.在配置类包内添加一个实现WebMvcConfigurer接口并且重写addCorsMapping的配置类
@Configuration
public class addCorsMapping implements WebMvcConfigurer {
// 当前跨域请求最大有效时长。这里默认1天
private static final long MAX_AGE = 24 * 60 * 60;
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")//设置映射
.allowedOriginPatterns("*")//设置访问源地址
.allowedMethods("GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS")//设置允许请求的方法
.allowCredentials(true)//是否允许携带cookie
.maxAge(MAX_AGE)//设置最长有效期
.allowedHeaders("*");//允许的请求头
}
}
更多推荐


所有评论(0)