在我们使用axios来发起请求时,每次都需要将配置信息写在每一个请求体中,我感觉很麻烦,于是我直接在vue项目中使用axios工具类来复用这些请求体。
在vue项目中的工程目录下新建utils/http.js
文件:
// 导入axios
import axios from 'axios'
// 从localStorage里面获取登录时保存的token信息
let TOKENINFO = localStorage.getItem('user_token')
TOKENINFO = TOKENINFO.substring(1, TOKENINFO.length - 1)
// 配置axios工具类
const service = axios.create({
// 基础URL
baseURL: 'http://localhost:8081',
// 请求超时
timeout: 5000,
// 请求头headers信息,保存请求token信息
headers: {
token: TOKENINFO
}
})
// 导出service
export default service
这个文件放在其他地方也可以,到时候导入的时候知道在哪里就行。
下面在其他页面的目录下,直接导入这个js文件:
import service from '../../utils/http.js'
以后,每次请求时,我们只需要使用service来请求即可,不需要额外进行其他配置:
service.get('restaurant/list', {
})
.catch(error => {
console.log(error)
})
.then(res => {
console.log(res)
})
service
.post('order', {
oId: '22',
mId: '2',
cId: '1',
mName: '韭菜',
moNum: '3',
moPrice: '5'
})
.catch(error => {
console.log(error)
})
.then(res => {
console.log(res)
})