如何在react中使用Axios.interceptor在请求中发送动态标头

t2a7ltrp  于 2023-04-20  发布在  iOS
关注(0)|答案(1)|浏览(155)

由于我们在所有请求中都发送了apikey,所以我们在axios.interceptor中配置了它,以便为所有请求附加apikey。

axios.interceptors.request.use(
  (requestConfig) => {
    requestConfig.headers = {
      ...{
        apikey: getApikey()
      }
    }
    return requestConfig
  },
  (error) => Promise.reject(error)
)

现在我正在开发一个API,我需要在头中添加一些其他字段以及apikey。当我试图将其添加到请求中时,它会被axios.interceptor覆盖。
谁能告诉我如何用axios.interceptor发送动态头。我读到我们可以使用axios.create创建一个示例。这是唯一的方法还是其他方法?

nlejzf6q

nlejzf6q1#

你应该分散原始的请求头,这样它们就不会被覆盖,像这样:

axios.interceptors.request.use(
  (requestConfig) => {
    requestConfig.headers = {
      // Spread the original headers
      ...requestConfig.headers,
      // Add the API key
      apikey: getApikey()
    }
    return requestConfig
  },
  (error) => Promise.reject(error)
)

相关问题