前后端 协议 ip 端口 不一致可以认为跨域请求 就是前端和后端分离,前端启动的服务为http://localhost:8000 后端 http://localhost:9123/那么可以就会出现跨域
java 如何解决跨域呢
加一个配置类就可以了
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;
@Configuration
public class CorsConfig {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}
还有注解的方式 这里不阐述
apifox 测试
请求前设置一下请求头
成功 查看到返回的请求头有这个 接口跨域就调用成功了