处理跨域问题,第一种直接在controller使用注解@CrossOrigin,但是会有一个问题,如果项目的controller接口都需要开放给前端项目,那就需要把所有的Controller都加上这个注解不方便我们可以使用java配置的方式自定义配置,来设置全局的跨域请求处理,需要在controller项目中,编写mvc配置文件,在controller同级目录创建一个config包里面编写配置文件。
package com.qf.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author hq
*/
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
// 设置什么请求映射的路径需要处理跨域
registry.addMapping("/**")
//任意请求的内容都可以
.allowedHeaders("*")
//任意请求方式都可以 get post delete put
.allowedMethods("*")
//任意站点过来的请求都运行 http://ip:port
.allowedOriginPatterns("*")
// 允许 状态标识的传输 cookie
.allowCredentials(true);
}
}