前后端解决跨域问题

最简单的方法直接在controller层加@CrossOrigin
在这里插入图片描述
一劳永逸的方法,全局方法(配置拦截器,实现WebMvcConfigurer接口)

package com.lza.config;

import com.lza.util.TokenInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//配置拦截器
@Configuration
public class MvcConfig implements WebMvcConfigurer {
    private TokenInterceptor tokenInterceptor;
    @Autowired
    public MvcConfig(TokenInterceptor tokenInterceptor){
        this.tokenInterceptor=tokenInterceptor;
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(tokenInterceptor).addPathPatterns("/**").excludePathPatterns("/doc.html/**")
        .excludePathPatterns("swagger/**")
        .excludePathPatterns("/swagger-ui.html")
        .excludePathPatterns("swagger-ui.html")
        .excludePathPatterns("/webjars/**")
        .excludePathPatterns("/swagger-ui.html/*")
        .excludePathPatterns("/swagger-resources")
        .excludePathPatterns("/swagger-resources/**")
        .excludePathPatterns("/v2/**");

    }
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        //本应用的所有方法都会去处理跨域请求
        registry.addMapping("/**")
                //允许远端访问的域名
                .allowedOrigins("http://localhost:8080")
                //允许请求的方法("POST", "GET", "PUT", "OPTIONS", "DELETE")
                .allowedMethods("*")
                //允许请求头
                .allowedHeaders("*");
    }

}

在这里插入图片描述

前端的操作:在config下的index.js添加以下代码

   proxyTable: {
      '/api': {
        target: 'http://localhost:8984',//设置你调用的接口域名和端口号
        changeOrigin: true,
         pathRewrite: {
           '^/api': '/',//重写,
         }
      }
},

在这里插入图片描述
搞定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值