Автоматическая передача ключа api для всех API

#javascript #reactjs #api

#javascript #reactjs #API

Вопрос:

Как установить ключ api для всех API на reactjs / javascript?.У меня с этим проблемы

Комментарии:

1. Вероятно, это будет зависеть от того, что вы используете для выполнения своих вызовов API.

2. это параметр запроса

3. jQuery? Варианты, похоже, таковы . Например, в Axios вы должны добавить перехватчик запросов.

Ответ №1:

Я думаю, что все это сводится к заголовкам по умолчанию для каждого запроса. Лично я бы поступил так

 const defaultHeaders = {
  "Authorization": "Bear --some-secret-token--",
  "Content-Type": "application/json"
}

const get = (url, params, headers) => {
  return fetch(
    url,
    {
      method: "GET",
      headers: {
        ...defaultHeaders,
        ...headers,
      }
    }
  )
  .then(response => response.json())
};

const post = (url, body, headers) => {
  return fetch(
    url,
    {
      method: "POST",
      body: JSON.stringify(body),
      headers: {
        ...defaultHeaders,
        ...headers,
      }
    }
  )
  .then(response => response.json())
};

get('https://jsonplaceholder.typicode.com/todos/1');
post('https://jsonplaceholder.typicode.com/posts', {
    title: 'foo',
    body: 'bar',
    userId: 1,
  });
 

Я экспортирую готовые к использованию методы для покрытия некоторых заголовков по умолчанию.

Если вы используете Axios, вы можете сделать так, как предложил @crashmstr. Но если вы используете обычную выборку, это определенно неплохая идея.