[TOC]
接⼝⽂档: edu-front-boot

http://eduboss.lagou.com/front/doc.html#/home

edu-boss-boot

http://eduboss.lagou.com/boss/doc.html#/home

封装请求模块

项⽬中我们需要通过接⼝进⾏数据请求,为了便于操作,我们要封装⽤于请求操作的函数。

在 Vue.js 中通常搭配 Axios 进⾏ AJAX 请求操作,⾸先来安装 Axios。

npm install axios

在 utils/ 中创建 request.js ⽂件作为请求功能模块,在⽂件中引⼊ Axios。

// utils/request.js // 引⼊ axios import axios from ‘axios’ // axios.create() 可以使⽤⾃定义配置新建⼀个 axios 实例 const request = axios.create({}) export default request 观察发现接⼝的基地址有2个,每次请求接⼝书写完整地址较为繁琐。 // App.vue

这时可以给 request 设置拦截器来判断 url 前缀,再将对应基地址设置给 config.baseURL。

axios 具有请求拦截器与响应拦截器,⽤于在请求与响应前进⾏提前处理。 请拦截器参数 config 为本次请求的相关配置信息,这⾥通过 baseURL 来修改请求的基地址。 操作完毕,最后⼀定要返回 config 让配置修改⽣效,否则请求⽆法发送成功。 // request.js // 封装 URL 基地址检测函数 function getBaseURL (url) { if (url.startsWith(‘/boss’)) { return http://eduboss.lagou.com } else { return http://edufront.lagou.com } } // 设置请求拦截器 request.interceptors.request.use(function (config) { // 根据请求的 URL 判断基地址,设置给 config.baseURL config.baseURL = getBaseURL(config.url) return config })

再次请求时前缀设置为 /boss 或 /front 即可。(测试后删除)

// App.vue request({ method: ‘GET’, // 某个后台接⼝ // url: ‘/boss/v2/api-docs?group=edu-boss-boot’ // 某个前台接⼝ url url: ‘/front/ad/getAdList’ }).then(res => { console.log(‘响应内容:’, res) })