8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何通过 payload cms 从不同的后端服务获取数据

Lauren Yim 2月前

86 0

我在运行的后端服务 'abc' 上有一些功能,它会返回 https://apigateway/abc?id=1 上的数据,每当我点击 api http 时,我都希望通过 payload cms 获取这些数据...

我在正在运行的后端服务 'abc' 上有一些功能,它会返回 https://apigateway/abc?id=1 上的数据,每当我从我的 ui 点击 api https://payloadcms/?id=1 时,我想通过 payload cms 获取这些数据。这可能吗?

到目前为止,由于我是 Headless CMS 的新手,我了解到 Payload CMS 根据文件夹结构创建 MongoDB 集合和 API,然后从 Payload MongoDB 返回数据。我希望能够同时使用 Payload 数据和 API 以及我旧的后端服务的数据和 API

帖子版权声明 1、本帖标题:如何通过 payload cms 从不同的后端服务获取数据
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Lauren Yim在本站《express》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我在从一个服务器到另一个服务器进行 Apollo 变异时遇到了困难。今天我花了很长时间寻找在两个 API 之间传递数据的最佳实践的示例或建议......

    我很难在各个服务器之间进行 Apollo 变异。

    我今天花了很长时间寻找在使用构建的两个 API 之间传递数据的最佳实践示例或建议 @apollo/server 。一个是静态快速服务器,一个是使用 @as-integrations 依赖项的 AWS Lambda 函数。静态服务器支持我的业务的消费者站点,并将成为来自客户端突变的数据的第一个接收者,然后将数据传递给我的 CRM 的 lambda 函数。对我来说,数据首先到达静态服务器,然后到达无服务器函数,这一点很重要。我的第一个想法是 ApolloClient 在我的静态服务器中的解析器中创建一个实例,然后向 lambda 函数发出请求,但我遇到了依赖问题,因为我没有在我的服务器上安装 React。我理解 ApolloClient 在客户端中使用的易于集成,但我仍然应该能够在服务器中创建客户端以进行 API 到 API 的通信,对吗?到目前为止,我找到的大部分信息都在解释如何使用他们的方法向 Apollo 发出 REST 请求,但这是在 API 之间进行通信的唯一/推荐的方式吗?感谢您提供的任何见解或帮助!

  • 你为什么要这样做?为了隐藏对 apigateway 的请求?看起来你需要反向代理,使用特定的应用服务器 (payloadcms) 执行此操作会浪费资源,即使它能够做到这一点,我也无法确认

  • 我希望能够为我的 API 使用有效载荷的多租户功能,以便用户可以根据他们的角色或组织访问或不访问某些 API。我不想从头开始在有效载荷 cms 中创建所有数据库模式和 API 逻辑。

  • 如何将 Vue JS 与 Node js express 结合使用。您好,如何将 Vue.js 与 Node.js Express 服务器集成?我希望 Node.js 服务器能够向我的 Vue.js 网站或 Vue.js 前端提供数据……

    如何将 Vue JS 与 Node js express 结合使用。

    你好,

    如何将 Vue.js 与 Node.js Express 服务器集成?

    我希望我的 Node.js 服务器向我的 Vue.js 网站提供数据,或者让 Vue.js 前端将数据发送到我的服务器。但是,我不确定 app.js 在项目结构中放置 Express 文件的正确位置。您能否指导我如何正确组织文件,以便 Express 服务器和 Vue.js 前端能够有效通信?谢谢!

  • 您不需要任何 React 内容即可使用 Apollo Client。您想使用 client.query() 而不是 useQuery (后者是 用于 React 应用程序的 钩子 一个示例 ,但这是在服务器-服务器情况下必须使用的模式。

    client.query 返回一个承诺,因此您必须在使用结果之前让它解决。

    client
      .query({
        query: gql`
          query MyQuery {
            id
            more fields…
          }
        `,
      })
      .then((result) => console.log(result));
    
  • 问题没有提到这一点。如果你需要对其他请求使用 payload 的身份验证,那么你可能需要这个

  • 广泛的、基于意见的问题在 SO 上是不相关的。这是两个不相关的 NPM 项目,它们在不同环境中运行。您可以按照自己想要的方式管理它们。\'有效沟通\' - 它们通过 HTTP 协议进行通信,这使得它们的文件关联方式变得无关紧要。如果您需要将它们保存在同一个存储库中,您可以将它们设为兄弟子文件夹,但仅此而已

  • 事实证明,该问题已通过导入 ApolloClient 等得到解决,而不是从 @apollo/client 导入,因为这些导入具有固有的反应依赖性,而是从 @apollo/client/core 导入。如下所示:

    import { ApolloClient, HttpLink, InMemoryCache } from '@apollo/client/core';
    

    不是这个:

    import { ApolloClient, HttpLink, InMemoryCache } from '@apollo/client';
    
  • 如果您希望在不影响数据库的情况下操作字段中的数据,那么 Payload 虚拟字段就是您的最佳选择。我曾在

  • 如上所述,通过 http 协议,这就是设置 express 服务器的目的。您可以这样运行它:

  • 我希望你已经知道如何在双方启动项目但不知道如何整合它。

    我可以根据您的要求给出答复。

    对我来说,最好将其分成两个项目。如果将整体式应用用于中型或大型项目,则需要从头开始创建最佳脚手架,否则,随着时间的推移,它就像滚雪球一样。

    如果您想要创建 2 个项目并使用 API,那么前端需要 HTTP 请求库(如 axios) 进行通信, 请确保 您设置了您的环境 baseURL port 与您的后端匹配。

    这里介绍如何使用 axios https://axios-http.com/docs/example

    如果你的 vue 项目想要使用状态管理,请参阅文档 https://pinia.vuejs.org/core-concepts/actions.html

    在操作中使用 axios 发出 HTTP 请求。

返回
作者最近主题: