0
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react';

const cryptoApiHeaders = {
  'x-rapidapi-key': 'coinranking1.p.rapidapi.com',
  'x-rapidapi-host': '935af67341msh072d3f07b71a1f8p1cb0b5jsn44961d90a001',
};

const baseUrl = 'https://coinranking1.p.rapidapi.com';

const createRequest = (url) => ({ url, headers: cryptoApiHeaders });

export const cryptoApi = createApi({
  reducerPath: 'cryptoApi',
  baseQuery: fetchBaseQuery({ baseUrl }),
  endpoints: (builder) => ({
    getCryptos: builder.query({
      query: () => createRequest('/coins'),
    }),
  }),
});

export const { useGetCryptosQuery } = cryptoApi;

** 我尝试从 RapidApi 连接 api,但我不断收到未经授权的 401。我自己想不通:3请有人帮助我**

4

2 回答 2

0

你的标题应该是这个

const cryptoApiHeaders = {
  'x-rapidapi-host': 'coinranking1.p.rapidapi.com',
  'x-rapidapi-key': '935af67341msh072d3f07b71a1f8p1cb0b5jsn44961d90a001',
};
于 2021-10-02T13:54:14.533 回答
0

只需传递 API 密钥并以另一种方式托管。像这样

'x-rapidapi-key': '935af67341msh072d3f07b71a1f8p1cb0b5jsn44961d90a001',
'x-rapidapi-host': 'coinranking1.p.rapidapi.com',

PS API 密钥是可能被滥用的敏感凭证。您刚刚公开了您的 API 密钥。我建议您删除此 API 密钥并在RapidAPI的Developer Dashboard为您生成一个新密钥

于 2021-10-04T09:09:39.357 回答