reactjs - 如何通过 React 使用两个不同的 API?

标签 reactjs proxy create-react-app package.json

我需要测试 API 内的一个端点,但我已经在使用一个 API,并且我不想更改仅针对新 API 的所有调用。

我不知道事件是否可能,但是有没有某种方法可以在 package.json 中定义多个 proxy

是否有某种方法可以在 package.json 中传递身份验证 key ?

主服务器是本地服务器,带有代理:

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

目前我正在使用 axios 进行 API 调用,并且该项目是通过 create-react-app 启动的。

最佳答案

在package.json中,您可以根据不同API请求的模式,配置代理服务器向不同目标发出API请求,如下所示。

注意事项:

  • API 模式的顺序很重要,通用请求 (*) 必须位于最后。
  • 正则表达式应该匹配完整的网址,部分匹配会导致错误。

以下代码对我有用。有 3 台不同的服务器,一台用于报告请求,一台用于访问控制请求,其余所有请求都应发送到第三台服务器。

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

希望这有帮助。

关于reactjs - 如何通过 React 使用两个不同的 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50726563/

相关文章:

javascript - React-snap 从构建中删除 api key

javascript - 如何修复 429(请求过多)?

reactjs - 通过嵌套组件从下到上传递事件

Python 套接字模块 : http proxy

javascript - 代理转发同一主机上的不同端口以避免 CORS

javascript - 为什么我的 React Router 返回空白页面?

javascript - React-Redux,onClick不启动 Action 功能(未定义)

nginx - 如何从两个代理中识别realip? (nginx)

reactjs - 由于 css 导入,Create-react-app 'Failed to compile.'

apache - create-react-app 在 LAMP/XAMPP/WAMP 上构建部署