我正在使用axios.create实例向MovieDB API发出get请求。我要附加的包含API密钥的params对象未随请求一起发送。
使用axios.get而不是axios.create时,请求工作正常。
import axios from "axios";
export default axios.create({
baseURL: "https://api.themoviedb.org/3",
params: {
api_key: MY_API_KEY
}
});
我收到错误代码401未经授权。
答案 0 :(得分:0)
您可以为此使用paramsSerializer:
export const client = Axios.create({
baseURL: process.env.API_URL,
paramsSerializer: (params) => {
const serializedParams = qs.stringify(params, {arrayFormat: 'repeat'});
return `${serializedParams}&APPID=${process.env.API_KEY}`;
}
});
在执行此操作之前,请确保您需要安装qs:
npm i qs