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);
    }
}
相关推荐
子兮曰12 分钟前
PHP漏洞危机,你的网站升级了吗?
前端·后端·php
jerrywus13 分钟前
给 Pi 装上生图插件:从登录报错到画出一只 200×200 的猫
前端·agent·claude
陈随易19 分钟前
搞钱点子之生态鱼缸
前端·后端·程序员
PBitW24 分钟前
从空目录到上线:我全程用 TRAE 做了一款微信小游戏合集(含一次完整架构重构)
前端·trae
不爱学英文的码字机器28 分钟前
从Q1迁到T1,同一个编号已经换了含义
前端·数据库·microsoft
云和数据.ChenGuang39 分钟前
光哥说Python 循环导入(Circular Import)深度解析:成因、排查与解决方案
开发语言·前端·人工智能·python·langchain
avi911142 分钟前
【AI教人】在Inspector显示所有Delegate-Odin Inspector之三
java·前端·算法·delegate·inspector·editor扩展·unity editor
fengci.1 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php
Ward的AI产品实战1 小时前
开源 AI 网关 Magpie 调优终结篇:顺位排错、跨家族对抗审查与 5 大路由组重构(下篇)
前端·人工智能
Highcharts.js1 小时前
BI可视化图表“维护难”问题的解决方案
开发语言·前端·javascript·编辑器·ecmascript·bi·highcharts