写后端springboot项目,前端调用后端接口时,出现跨域配置问题
1. 问题
在前端vue项目调用后台已写好的接口:“http://localhost:8888/user/list”,发现前端页面调用此接口时,会出现报错,在Postman调用测试时不会报错
根据接口报错情况,明显是出现跨域问题,需要在后端配置
2. 解决
重写WebMvcConfigurer类进行全局配置,复制以下代码:
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
// 是否发送Cookie
.allowCredentials(true)
// 放行哪些原始域
.allowedOrigins("*")
// 放行哪些请求方式
.allowedMethods("GET", "POST", "PUT", "DELETE")
// 放行哪些原始请求头部信息
.allowedHeaders("*")
// 暴露哪些头部信息
.exposedHeaders("*");
}
}