CorsConfig.java
- 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{
- @Bean
- public CorsFilter corsFilter(){
- UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
- CorsConfiguration corsConfiguration = new CorsConfiguration();
- /*1.设置访问源地址*/
- corsConfiguration.addAllowedOrigin("*");
- /*2.设置访问源请求头*/
- corsConfiguration.addAllowedHeader("*");
- /*3.设置访问源请求方法*/
- corsConfiguration.addAllowedMethod("*");
- /*4.对接口配置跨域设置*/
- source.registerCorsConfiguration("/**",corsConfiguration);
- return new CorsFilter(source);
- }
- }
前端配置(在src/utils/request.js文件夹下配置,没有就新建一个utils文件夹和request.js文件)
- import axios from "axios"
-
- // axios是用于前端获取请求URL
- // 创建一个axios对象
- const request = axios.create({
- // baseURL: 后台的URL
- baseURL: 'http://localhost:9090/api',
- timeout: 50000
- })
-
- // request 拦截器
- // 可以自请求发送前对请求做一些处理
- // 比如统一加token,对请求参数统一加密
- //添加一个请求拦截器
- request.interceptors.request.use(config => {
- // 封装请求头
- config.headers['Content-Type'] = 'application/json';
- let user = JSON.parse(localStorage.getItem("user"));
- if(user){
- // 设置请求头
- config.headers['token'] = user.token
- }
- return config;
- }, error => {
- return Promise.reject(error)
- });
-
- // response 拦截器
- // 可以在接口响应后统一处理结果
- request.interceptors.response.use(
- response => {
- // response.data即为后端返回的AjaxResult
- let res = response.data;
- // 兼容服务端返回的字符串数据
- if (typeof res === 'string') {
- res = res ? JSON.parse(res) : res
- }
- return res;
- },
- error => {
- console.log('err' + error) // for debug
- return Promise.reject(error)
- }
- )
-
- // 以request暴露出去
- export default request
如果还是不行,查看注解上的路径是否正确