繁体   English   中英

params 对象(API 密钥)未与 axios.create 一起发送

[英]params object (API key) not being sent with axios.create

我正在使用 axios.create 实例向 MovieDB API 发出获取请求。 我附加的包含 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 未经授权。

您可以为此使用 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM