首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在GraphQL服务器上接受来自远程服务器的POST请求

如何在GraphQL服务器上接受来自远程服务器的POST请求
EN

Stack Overflow用户
提问于 2021-05-16 04:08:04
回答 1查看 85关注 0票数 0

我正在做一个项目,目前正在使用GrapQL。我正在集成一个支付处理器,当用户支付成功时,支付处理器发送一个POST请求到webhook URL,这意味着指向我的服务器。现在,考虑到GraphQL只公开了一个端点,在我的例子中是/graphql,我想知道如何实现这一点。如何捕获传入的POST请求?为了获得更好的上下文,

如果我使用的是REST API,那么在成功支付之后,webhook将向/payment/verify发送一个包含支付数据的POST请求。但是,如何使用GraphQL服务器将数据直接从webhook获取到我的GraphQL服务器中的解析器?谢谢,期待您的回复。

EN

回答 1

Stack Overflow用户

发布于 2021-05-17 16:06:15

除非支付处理机发送的post请求符合graphql请求的形式。请求负载必须满足标准的GraphQL AST。只有这样,你服务器端的GraphQL才能解析出validationexecution才能正常工作。

GraphQL post请求表为:

代码语言:javascript
运行
复制
require('isomorphic-fetch');

fetch('http://localhost:4000', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ query: `
    query {
      todos {
        edges {
          node {
            completed
            id
            text
          }
        }
      }
    }` 
  }),
})
.then(res => res.json())
.then(res => console.log(res.data));

您可以创建额外的路由和端点以用作webhooks,但更好的方法是将webhooks函数提取到一个独立的服务中。连接到数据库、执行业务逻辑和处理数据。

只有一个终结点/graphql的API服务器用于GraphQL网关服务。webhook服务是后端服务之一。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67550809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档