在Springboot项目中,解决跨域问题,
继承WebMvcConfigurerAdapter的方式已经过时,
可以采用实现WebMvcConfigurer的addCorsMappings()方法。
package com.fan.music.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @Author: Travelmate
* @CreateTime: 2021/1/25 21:04
* @Description: 解决跨域问题
*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowedMethods("*")
.allowCredentials(true);
}
}
记录错误:最初我采用继承WebMvcConfigurerAdapter的方式。但报错了
这是springboot版本升级出现的问题,2.3版本没报错。如果使用2.4.0版本,还是设置的话,访问API接口就会报错:When allowCredentials is true, allowedOrigins cannot contain the special value "*“since that cannot be set on the “Access-Control-Allow-Origin” response header. To allow credentials to a set of origins, list them explicitly or consider using"allowedOriginPatterns” instead.
修改 :将allowedOrigins替换成allowedOriginPatterns,这是使用官方推荐的。