昨天在家搞了一下午,在Springboot里设置了跨域,但还是一直报跨域。
配置如下:
package com.example.mybatis.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter; @Configuration public class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); // 1允许任何域名使用 corsConfiguration.addAllowedHeader("*"); // 2允许任何头 corsConfiguration.addAllowedMethod("*"); // 3允许任何方法(post、get等) return corsConfiguration; } @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", buildConfig()); // 4 return new CorsFilter(source); } }
因为一直在报跨域的错,所以我一直以为是上面代码的问题,但是查了很多资料,上面的写法应该是没有问题的,感觉是前端的问题吧,vue里用axios是最简单的get请求,应该也没什么问题。后来晚上在床上用手机查时看到一篇文章说请求地址里如果不加http://的话,也会报跨域,突然想起我好像直接用的localhost,没有加http://,好吧,加上后问题解决。