Axios配置默认GET参数

时间:2019-02-11 17:55:15

标签: vue.js axios

我在VueJS应用程序中使用Axios,我想在请求中添加默认的GET参数。我通过URL ?api-key=secret发送API-KEY,但我不想每次都指定此参数。

我在文档中看到可以设置Global custom defaults。这样,我们不必每次都指定标题。但是我们可以为获取参数做同样的事情吗?

3 个答案:

答案 0 :(得分:3)

这里是:

axios.defaults.params = {}
axios.defaults.params['api-key'] = secret

答案 1 :(得分:0)

如果需要在每个axios请求之前调用一个函数,则应使用拦截器。

答案 2 :(得分:0)

我很难通过两种最常用的建议方法使它与axios实例一起使用:

axios.defaults.params = {}
axios.defaults.params['api-key'] = secret

并使用params属性:

const axClient = axios.create({
    baseURL: process.env.VUE_APP_BASE_URL,
    params: {
        api-key: process.env.VUE_APP_API_KEY
    }
});

我确实使用这样的拦截器设法使其正常工作:

const axClient = axios.create({
    baseURL: process.env.VUE_APP_BASE_URL,
});

axClient.interceptors.request.use((config) => {
    config.params = config.params || {};
    config.params['api-key'] = process.env.VUE_APP_API_KEY;
    return config;
});