1.前后端分离之间进行通讯首先要进行跨域请求,以前的做法就是写个过滤器来操作,还有就是nginx代理了。
现在用vue和springboot都有新的方式
第一种
vue2 本身也支持跨域,开发过程中支持这个,方便
第二种
springboot 简单一个类就可以支持
第三种
生产环境用nginx就不用说了,必须的。像什么复杂的代理请求和负载等等都可以
先弄第一种
这里写图片描述
引入resource
这里写图片描述
在App.vue 加入请求方法
methods: {
getData () {

  var that = this.$http.get('api/sysuser/list')
            .then(function (response) {
              console.log(response.data)
              console.log(this)
              that.serverData = response.data
            })
            .catch(function (error) {
              console.log(error)
            })
}

}
这里写图片描述
2.第二种 springboot 配置也可以
去掉之前vue代理请求就提示跨域问题了,我们先删除代理运行看看
这里写图片描述
访问地址修改成
这里写图片描述
再次访问就有跨域问题
这里写图片描述
接下来在项目种加入CorsConfig类,如图
这里写图片描述

@Configuration
public class CorsConfig  extends WebMvcConfigurerAdapter{

      @Override  
        public void addCorsMappings(CorsRegistry registry) { 
            System.out.println("----------------------");
            registry.addMapping("/**")  
                    .allowedOrigins("*")  
                    .allowCredentials(true)  
                    .allowedMethods("GET", "POST", "DELETE", "PUT")  
                    .maxAge(3600);  
        }  


}

重启项目刷新页面,跨域问题就解决了
这里写图片描述
第三种nginx跨域解决问题后面部署服务器的时候再一起学习

Logo

前往低代码交流专区

更多推荐