[英]How to redirect to remote server web page from another java application using POST request
[英]How to accept POST request from a remote server on a GraphQL Server
我正在做一个目前使用 GrapQL 的项目。 我正在集成支付处理器,当用户支付成功时,支付处理器向 webhook URL 发送一个 POST 请求,该请求旨在指向我的服务器。 现在我想知道如何实现这一点,考虑到 GraphQL 只暴露一个端点,在我的例子中是/graphql
。 如何捕获进来的 POST 请求? 为了更好的上下文,
如果我使用的是 REST API,则在成功付款后,webhook 将发送带有付款数据的 POST 请求到/payment/verify
。 但是,如何使用 GraphQL 服务器实现此目的,将数据从 webhook 直接获取到 GraphQL 服务器中的解析器? 谢谢,期待您的回复。
除非支付处理器发送的 post 请求符合 graphql 请求的形式。 请求负载必须符合标准 GraphQL AST。 只有这样,您服务器端的 GraphQL 才能解析 AST,进行验证和执行工作。
GraphQL 邮寄申请表为:
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));
您可以创建其他路由和端点以用作 webhook,但更好的方法是将 webhook function 提取到独立服务中。 连接数据库,执行业务逻辑,处理数据。
您的 GraphQL API 服务器只有一个端点/graphql
用于 API 网关服务。 webhook 服务是后端服务之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.