一、编写配置文件实现全局跨域
package com.komlin.config;
import lombok.extern.slf4j.Slf4j;
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;
/**
* Description:使用cors解决跨域问题
* date: 2020/7/29 13:35
*
* @author mt
* @since JDK 1.8
*/
@Configuration
@Slf4j
public class CorsConfig {
private CorsConfiguration builConfig(){
CorsConfiguration configuration = new CorsConfiguration();
configuration.addAllowedOrigin("*");//1 允许任何域名使用
configuration.addAllowedHeader("*");//2 允许任何头
configuration.addAllowedMethod("*");//3 允许任何方法
return configuration;
}
@Bean
public CorsFilter corsFilter(){
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**",builConfig());
return new CorsFilter(source);
}
}
二、使用注解实现局部跨域
- 在方法体添加注解
@CrossOrigin("http://localhost:8080")
@GetMapping("/test")
@ResponseBody
public List<String> test(){
List<String> list = new ArrayList<>();
list.add("ds");
return list;
}
- 在controller使用注解 @CrossOrigin