解决跨域的方案(生产环境)
产生跨域问题:协议 端口 域名 其中不一致 浏览器保护机制:同源策略
1、使用注解 @
@GetMapping("/list")
@Crossorigin
public List<string>list(){
tist<String>list Arrays.asList("Java","C++","Go");
return list;
2、使用过滤器 允许不同的请求头、不同的请求方法、不同的源
public class CorsConfig
@Bean
public CorsFilter corsFilter(){
CorsConfiguration corsConfiguration new CorsConfiguration();
corsConfiguration.addAllowedorigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
UrlBasedCorsConfigurationSource source new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration(pattern:"/**"corsConfiguration);
return new CorsFilter(source);
3、实现WebMvcConfigurer接口形式,类似于过滤器
@Configuration
public class CorsConfiguration implements WebMvcConfigurer
QOverride
public void addCorsMappings(CorsRegistry registry){
registry.addMapping(pathPattern:"/**"
allowedoriginPatterns("*")
allowedMethods("GET","POST","PUT","DELETE","HEAD","OPTIONS")
allowCredentials(true)
maxAge(3600)
allowedHeaders("*");
4、使用
Nginx配置——反向代理 参考本文章:https://blog.csdn.net/zxd1435513775/article/details/102508463

浙公网安备 33010602011771号