springboot vue 登陆发送请求(跨域问题)02

1.前后端分离之间进行通讯首先要进行跨域请求,以前的做法就是写个过滤器来操作,还有就是nginx代理了。
现在用vue和springboot都有新的方式
第一种
vue2 本身也支持跨域,开发过程中支持这个,方便
第二种
springboot 简单一个类就可以支持
第三种
生产环境用nginx就不用说了,必须的。像什么复杂的代理请求和负载等等都可以
先弄第一种
springboot vue 登陆发送请求(跨域问题)02_第1张图片
引入resource
springboot vue 登陆发送请求(跨域问题)02_第2张图片
在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)
            })
}

}
springboot vue 登陆发送请求(跨域问题)02_第3张图片
2.第二种 springboot 配置也可以
去掉之前vue代理请求就提示跨域问题了,我们先删除代理运行看看
springboot vue 登陆发送请求(跨域问题)02_第4张图片
访问地址修改成
springboot vue 登陆发送请求(跨域问题)02_第5张图片
再次访问就有跨域问题
springboot vue 登陆发送请求(跨域问题)02_第6张图片
接下来在项目种加入CorsConfig类,如图
springboot vue 登陆发送请求(跨域问题)02_第7张图片

@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);  
        }  


}

重启项目刷新页面,跨域问题就解决了
springboot vue 登陆发送请求(跨域问题)02_第8张图片
第三种nginx跨域解决问题后面部署服务器的时候再一起学习

你可能感兴趣的:(springboot)