Как работать с двумя разными API с React? - PullRequest
0 голосов
/ 06 июня 2018

Мне нужно протестировать одну конечную точку внутри API, но я уже работаю с одним API, и я не хотел бы менять все мои вызовы, ориентируясь только на новый API.

Я не знаю событиеесли это возможно, но есть ли способ определить более одного proxy внутри package.json?

Есть ли способ передать ключи авторизации внутри package.json?

Главный сервер, является локальным сервером с прокси:

"proxy": {
    "/api": {
      "target": "http://localhost:3001/proxy",
      "changeOrigin": true,
      "pathRewrite": {
        "^/api": ""
      }
    }
  },

В настоящее время я использую axios для выполнения вызовов API, и проект был запущен с react-create-app.

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

В package.json вы можете настроить прокси-сервер для отправки запросов API к различным целям на основе обработки шаблона для различных запросов API, как показано ниже.

Примечания:

  • Порядок шаблонов API имеет значение, общий запрос (*) должен быть последним.
  • Регулярное выражение должно быть таким, чтобы оно совпадало с полным URL, частичное совпадение приводило к ошибкам дляменя.

Следующий фрагмент кода работал для меня.Есть 3 разных сервера, один для запроса отчетов, один для запроса контроля доступа, а остальные все запросы должны идти на третий сервер.

"proxy": {
    "/report/.*(_get)": {
      "target": "http://localhost:8093/"
    },
    "/access/.*(_get)": {
      "target": "http://localhost:8091/"
    },
    "/.*": {
      "target": "https://egov-micro-dev.egovernments.org/",
      "changeOrigin": true
    }
  },

Надеюсь, это поможет.

0 голосов
/ 07 июня 2018

Я нашел решение, добавив второй прокси после первого, внутри proxy, и мне не нужно было помещать заголовки внутри package.json, но ссылки, которыми поделился @Chase DeAnda, действительно интересны и могутпомогите кому интересно: заголовки Webpack и axios interceptors .

...