当前位置:首页 > VUE

Vue调接口怎么实现

2026-01-22 19:23:29VUE

Vue调用接口的实现方法

在Vue中调用接口通常使用axiosfetch等HTTP客户端库,以下是具体实现方式:

安装axios

通过npm或yarn安装axios依赖:

npm install axios
# 或
yarn add axios

基本请求封装

src目录下创建api文件夹,新建request.js文件封装axios:

Vue调接口怎么实现

import axios from 'axios'

const service = axios.create({
  baseURL: 'https://your-api-domain.com', // 接口基础路径
  timeout: 5000 // 请求超时时间
})

// 请求拦截器
service.interceptors.request.use(
  config => {
    // 可在此处添加token等全局headers
    config.headers['Authorization'] = 'Bearer your_token'
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

// 响应拦截器
service.interceptors.response.use(
  response => {
    return response.data
  },
  error => {
    return Promise.reject(error)
  }
)

export default service

接口模块化

api目录下创建模块文件(如user.js):

import request from './request'

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

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

组件中调用接口

在Vue组件中使用封装好的接口:

Vue调接口怎么实现

import { login, getUserInfo } from '@/api/user'

export default {
  methods: {
    async handleLogin() {
      try {
        const res = await login({ username: 'admin', password: '123456' })
        console.log('登录成功', res)

        const userInfo = await getUserInfo()
        console.log('用户信息', userInfo)
      } catch (error) {
        console.error('请求失败', error)
      }
    }
  }
}

环境变量配置

在项目根目录创建.env.development.env.production文件管理不同环境接口地址:

# .env.development
VUE_APP_BASE_API = '/dev-api'

# .env.production
VUE_APP_BASE_API = '/prod-api'

修改request.js中的baseURL

baseURL: process.env.VUE_APP_BASE_API

跨域处理

开发环境可通过vue.config.js配置代理:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'http://target-domain.com',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  }
}

标签: 接口Vue
分享给朋友:

相关文章

Vue gitbook 实现

Vue gitbook 实现

Vue 与 GitBook 集成实现文档站点 将 Vue 集成到 GitBook 中可以实现动态、交互式的文档站点。GitBook 本身基于 Markdown,但通过插件或自定义构建流程可引入 Vue…

Vue实现多站点

Vue实现多站点

Vue实现多站点的方案 Vue.js可以通过多种方式实现多站点架构,具体方案取决于项目需求和规模。以下是常见的几种实现方法: 基于动态路由的SPA方案 适用于中小型多站点项目,所有站点共享同一个Vu…

php实现接口

php实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不实现具体功能。类可以实现一个或多个接口,并必须实现接口中定义的所有方法。 定义接口 接口使用 inter…

Vue实现聊天软件

Vue实现聊天软件

Vue实现聊天软件的关键步骤 环境准备与项目初始化 使用Vue CLI或Vite创建Vue 3项目,安装必要依赖如vue-router、pinia(状态管理)、socket.io-client(实时通…

java如何编写接口

java如何编写接口

编写Java接口的基本语法 在Java中,接口通过interface关键字定义,可以包含抽象方法、默认方法、静态方法和常量。 public interface MyInterface {…

Vue echarts实现散点图

Vue echarts实现散点图

Vue ECharts 实现散点图 安装 ECharts 在 Vue 项目中安装 ECharts 依赖: npm install echarts --save 引入 ECharts 在组件中引入 E…