Redux Authorization Handle с пользовательским промежуточным ПО - PullRequest
1 голос
/ 19 января 2020

Мне нужно централизовать заголовки вызовов API-интерфейсов. Я имею в виду, что мне нужно специальное промежуточное программное обеспечение, которое работает перед каждым вызовом API, получает токен из «Local Storage» и помещает его в заголовок текущего вызова API. Я нашел несколько примеров, когда я погуглил, но мне также нужно 401 несанкционированное обращение. После каждого вызова API, если я получаю 401 несанкционированный ответ, промежуточное программное обеспечение очищает локальное хранилище. Я буду признателен за вашу помощь, спасибо. Я нашел несколько примеров, как показано ниже, но мне это нужно также после вызова API для обработки несанкционированной ситуации 401.


const authInterceptor = ({ dispatch }) => (next) => (action) => {
  if (action.status === 401) {
    dispatch(actions.removeJwt());
  } else {
    next(action);
  }
};

Ответы [ 2 ]

1 голос
/ 19 января 2020

Я наконец нашел решение :). Ниже ссылка полезна для меня. Это пользовательское промежуточное ПО, которое работает для каждого вызова API. Также он предоставляет api.then.catch для переданного аргумента вызова API. поэтому я могу обработать отправку здесь для ожидающих, успешных и неудачных типов. Я также могу обрабатывать 401 несанкционированно из-за обработки ошибок здесь.

создание собственного промежуточного программного обеспечения для редуксов

0 голосов
/ 19 января 2020

Вы можете обрабатывать ответы 4xx с обработкой ошибок. Например, если вы используете ax ios api, вы можете использовать глобальный обработчик ответа.

axiosInstance.interceptors.response.use(
  response => successHandler(response),
  error => errorHandler(error)
)

Для получения дополнительной информации: Ax ios перехватчики ответа и ошибки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...