我在从 vue 调用 Spring Boot 微服务时遇到问题。 在本地它可以工作,而在调用被 KrakenD 拦截的测试环境中我有一个 CORS 错误 这是我的配置类: 这是我得到的错误屏幕:
我尝试通过设置 allowedOrigins([myLocalHost], [testEnvironmentUrl]) 来更改 WebConfig 类的属性,但最终得到了相同的结果
我通过更改 WebConfig 解决了这个问题:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class CorsConfiguration {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOriginPatterns("*")
.allowCredentials(true)
.allowedMethods("GET", "PUT", "POST", "PATCH", "DELETE", "OPTIONS");
}
};
}
}