如何以高效的方式代理来自我的 Node.js 应用程序的 GraphQL 请求?

How can I proxy a GraphQL request from my Node.js app in an efficient way?

我正在处理的项目的当前设置是:

我希望能够从 Next.js 页面发出请求,该页面通过 api-route 代理到 Wordpress 后端。我希望传递 GraphQL 查询,并且我希望能够在请求到达 Wordpress 后端之前修改请求(例如添加 header、设置 cookie 等)。

我首先尝试使用此模块实现此目的:https://github.com/http-party/node-http-proxy 并使用 .web() 请求。它几乎可以正常工作,除了我从 Wordpress 返回一个我无法解码的响应(尝试使用 Buffer 等,但没有成功)。

所以我目前的方法是从我的 api 路由发出 axios 请求并在该请求中传递 req.body,并且该设置有效。

但是,这种代理方式是否可行,还是我应该尝试使其与 node-http-proxy 一起使用?不知道有什么可能的好处。

谢谢

如果您使用 Axios,您将在从源检索数据时发出额外请求。这会降低性能。另一方面,如果您使用代理,您将转发传入的请求,这样您将提高性能。