每日分享- axios 拦截器中怎么设置全局请求参数?
在axios中可以通过拦截器来设置全局请求参数。拦截器可以在发送请求或响应之前拦截并对其进行处理,比如添加请求头,处理请求参数等操作。
下面是设置全局请求参数的方法,具体可以根据需求选择其中的一种或多种:
1 在axios的全局配置中设置默认的请求参数
import axios from 'axios';
axios.defaults.params = {
api_key: 'YOUR_API_KEY',
};
axios.get('https://api.example.com/data');
在上面的例子中,我们将 api_key 作为默认的请求参数添加到 params 对象中。这样,在发送 GET 请求时,axios 将自动把 api_key 参数添加到 URL 中。
2 在拦截器中设置请求参数
import axios from 'axios';
axios.interceptors.request.use(config => {
config.params = {
...config.params,
api_key: 'YOUR_API_KEY',
};
return config;
});
axios.get('https://api.example.com/data');
在上面的例子中,我们通过
axios.interceptors.request.use 方法添加了一个请求拦截器。该拦截器会在每个请求被发送之前执行,并将 api_key 参数添加到请求参数中。
3 在每个请求中手动设置请求参数
import axios from 'axios';
axios.get('https://api.example.com/data', {
params: {
api_key: 'YOUR_API_KEY',
},
});
在上面的例子中,我们通过传递一个包含 api_key 参数的 params 对象来手动设置请求参数。
需要注意的是,以上三种方法并不互斥,你可以根据需要选择其中的一种或多种方法来设置请求参数。