目录
一、安装Axios
npm i axios 
在要用的模块中导入axios
import axios from 'axios' 
二、发送请求
(一)Get请求
// 请求头携带参数,案例:?uid=1001
axios.get(
    'http://localhost:8080/user/api/v1/user/query', {
        params: {
            uid: '1001'
        }
    }).then(res => {
    console.log(res.data)
}).catch(err => {
    console.log("请求错误=" + err)
}).finally(() => {
}) 
(二)Post请求
1. 第一种方式
function funPost() {
    // 请求体携带参数
    axios.post(
        'http://localhost:8080/user/api/v1/user/query',
        'uid=1001'
    ).then(res => {
        console.log(res.data)
    }).catch(err => {
        console.log("请求错误=" + err)
    }).finally(() => {
    })
} 
2. 第二种方式
后端需要使用@RequestBody User user注解
接收json转为对象
function funPost() {
    // 请求体携带参数
    axios({
        url: 'http://localhost:8080/user/api/v1/user/query',
        method: 'post',
        data: {
            'id': '1001'
        }
    }).then(res => {
        console.log(res.data)
    }).catch(err => {
        console.log("请求错误=" + err)
    }).finally(() => {
    })
} 
三、拦截器
(一)请求前拦截器
// 请求前拦截器
axios.interceptors.request.use(function (config) {
    config.url = config.url + "?token=ABC"
    return config
}, function (err) {
    return Promise.reject(err)
}) 
(二)应答拦截器
五、Axios全局默认值
axios.defaults.baseURL = 'http://localhost:8000'
axios.defaults.timeout = 5000
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded' 
四、封装
import axios from "axios";
// 设置默认值
axios.defaults.baseURL = 'http://localhost:8000/api'
axios.defaults.timeout = 7000
// get
function doGet(url, params) {
    return axios({
        url: url,
        method: 'get',
        data: params
    })
}
// post
function doPost(url, params) {
    return axios({
        url: url,
        method: 'post',
        params: params
    })
}
// 暴露方法
export {doGet, doPost}









