springboot+VUE+部署(11。前端后端对接以及跨域问题)

在前端代码中找到 src->api->user.js代码

复制代码
import request from '@/utils/request'

export function login(data) {
  return request({
    url: '/vue-admin-template/user/login',
    method: 'post',
    data
  })
}

export function getInfo(token) {
  return request({
    url: '/vue-admin-template/user/info',
    method: 'get',
    params: { token }
  })
}

export function logout() {
  return request({
    url: '/vue-admin-template/user/logout',
    method: 'post'
  })
}

把URL 改成下面的代码:

复制代码
import request from '@/utils/request'

export function login(data) {
  return request({
    url: '/user/login',
    method: 'post',
    data
  })
}

export function getInfo(token) {
  return request({
    url: '/user/info',
    method: 'get',
    params: { token }
  })
}

export function logout() {
  return request({
    url: '/user/logout',
    method: 'post'
  })
}

因为我们后端的接口是"/user/*"

后端处理跨域问题:

方法1:在每个控制器下面加入 @CrossOrigin

方法2:

在common文件夹中加入MyCrossConfig类:

//要注意导入类有选择时,不能选错

复制代码
package com.example.demo.common;

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 MyCrossConfig {
    @Bean
    public CorsFilter corsFilter()
    {
//        1.添加CORS配置信息
        CorsConfiguration config = new CorsConfiguration();
//        1)允许的域,不要写*,否则COOKIE就无法使用了
        config.addAllowedOrigin("http://localhost:8888");//这里要写请求的前端服务器
//        2)是否发送Cookie信息
        config.setAllowCredentials(true);
//        3)允许的请求方式
        config.addAllowedMethod("OPTIONS");
        config.addAllowedMethod("HEAD");
        config.addAllowedMethod("GET");
        config.addAllowedMethod("PUT");
        config.addAllowedMethod("POST");
        config.addAllowedMethod("DELETE");
        config.addAllowedMethod("PATCH");
//        4)允许的头信息
        config.addAllowedHeader("*");
//        2.添加映射路径,我们拦截一切请求
        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();
        configSource.registerCorsConfiguration("/**",config);
//        3.返回新的CorsFilter
        return new CorsFilter(configSource);
    }
}
相关推荐
陆枫Larry1 小时前
小程序包体积优化:用 SVG 图片替换 iconfont,并保留 CSS 控色能力
前端
环境栈笔记2 小时前
多账号浏览器选型检查清单:Profile、权限、Session 和任务日志怎么评估
前端·人工智能·后端·自动化
shepherd1112 小时前
一次把 Spring MVC 文件上传参数“查没了”的排查:multipart、Filter 与 request body 的连环坑
java·spring boot·后端
前端炒粉2 小时前
手写promise
java·前端·javascript
LaughingZhu2 小时前
智能体经典范式构建:ReAct、Plan-and-Solve 与 Reflection
前端·react.js·前端框架
荒诞英雄2 小时前
从 17MB Vendor 大包到按需加载:Vite 多入口 Vue 组件库首屏优化实践
vue.js·vite
jsonbro2 小时前
手把手带你实现发布订阅模式
前端·vue.js·设计模式
一只猫的梦2 小时前
自动化模块 (Automation Module)
前端·chrome
熊猫钓鱼>_>3 小时前
Electron:当 Web 技术统治桌面
大数据·前端·javascript·人工智能·架构·electron·agent
德福危险3 小时前
从盲打xss到到模板注入:unix靶机渗透之Tempus_fugit4
前端·unix·xss