使用 vue + springboot 前后端分离 跨域、cookie、session 问题,全套配置一篇就够了

余生长醉 提交于 2019-12-05 23:30:26

一、前端使用axios:

发送请求,跨域设置:

后端使用SpringBoot,那么发送数据的时候,数据参数只能拼接到url后面,否则springboot接收不到。

要接决这个问题,就要加一个请求拦截器,使springboot能够接收到参数。

 

Cookie问题:在main.js 中添加配置,携带cookie,添加请求拦截器

//与后端进行数据交换的时候带上cookie
axios.defaults.withCredentials = true;

使用SpringBoot框架,这里传参要拼接到后面后端才能接受到数据。

 

二、后端使用 SpringBoot + mybatis:

后端需要修改请求头,可以直接注入一个配置对象:


@Configuration
public class MySpringMvcConfig implements WebMvcConfigurer {

    /**
     * 前后端跨域
     * @return
     */
    @Bean
    public WebMvcConfigurer webMvcConfigurer2(){
        return new WebMvcConfigurer() {
            /**
             * 设置头 使可以跨域访问
             * @param registry
             * @since 4.2
             */
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedOrigins("*")
                        .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                        .maxAge(3600)
                        .allowCredentials(true);
            }
        };
    }
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!