用SpringBoot开发后端,VUE开发前端,待联调之时,会有跨域问题。因为VUE本事也是一个服务,所以直接访问后端接口是无法请求的。
解决:可以自定义一个配置类,继承WebMvcConfigurationSupport类或者实现WebMvcConfigurer接口,即可解决跨域问题,具体细节如下:
@Configuration @AutoConfigureBefore(SpringSecurityConfig.class) public class CrosConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry){ registry.addMapping("/**") .allowedOrigins("*") .allowedMethods("*") .allowedHeaders("*") .allowCredentials(true) .maxAge(3600); } }
其实一开始我用的是继承,其重写内容都一样,但是继承会有一个问题,就是配置好以后再次启动服务,你会发现SpringBoot自带的swagger测试无法访问了,,,
至于为啥先不聊了,反正我的目的就是要解决跨域并且swagger测试可以正常访问,直接copy上面那个配置类即可,下课!!!