跨域解决方案

跨域解决方案:

1.后端配置:在Controller类上添加@CrossOrigin注解。

java 复制代码
@CrossOrigin(origins = "http://localhost:3000", allowCredentials = "true")
@RestController@RequestMapping(value = "/api/v1/customers", produces = MediaType.APPLICATION_JSON_VALUE)
public class CustomerApi {

2.前端配置:在vite.config.js中配置跨域。此时,axios发送请求时,可使用相对路径,会被自动代理为后端服务器路径。

javascript 复制代码
import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from "vite-plugin-vue-devtools";
import {resolve} from "path";
export default defineConfig({
    plugins: [vue(), vueDevTools()],
    server: {
        host: "localhost",
        port: 5173,
        open: true,
        proxy: {
            "/api":{
                target: "http://localhost:8080",
                changeOrigin: true,
                rewrite: (path) => path.replace(/^\/api/, '/api/v1')
            }
        }
    },
})
相关推荐
烟袅19 分钟前
5 分钟把 Coze 智能体嵌入网页:原生 JS + Vite 极简方案
前端·javascript·llm
神秘的猪头42 分钟前
🧠 深入理解 JavaScript Promise 与 `Promise.all`:从原型链到异步编程实战
前端·javascript·面试
白兰地空瓶43 分钟前
从「似懂非懂」到「了如指掌」:Promise 与原型链全维度拆解
前端·javascript
湖边看客2 小时前
antd x6 + vue3
开发语言·javascript·vue.js
栀秋6662 小时前
当我把 proto 打印出来那一刻,我懂了JS的原型链
前端·javascript
小离a_a2 小时前
flex垂直布局,容器间距相等
开发语言·javascript·ecmascript
ErMao2 小时前
TypeScript的泛型工具集合
前端·javascript
重铸码农荣光3 小时前
深入理解 JavaScript 原型链:从 Promise.all 到动态原型的实战探索
前端·javascript·promise
进击的野人3 小时前
深入理解 Async/Await:现代 JavaScript 异步编程的优雅解决方案
javascript·面试·ecmascript 6
PineappleCoder3 小时前
pnpm 凭啥吊打 npm/Yarn?前端包管理的 “硬链接魔法”,破解三大痛点
前端·javascript·前端工程化