Graphql Webhook使用express调用ApolloServer
我有一台Apollo服务器在本地和Firebase云功能上运行 我想向它发送一个条带API webhook 我试着看看是否能找到关于如何直接调用服务器的文档,但我能找到的只是关于使用游乐场运行查询的文档 假设这是我的服务器:Graphql Webhook使用express调用ApolloServer,graphql,stripe-payments,apollo,apollo-client,apollo-server,Graphql,Stripe Payments,Apollo,Apollo Client,Apollo Server,我有一台Apollo服务器在本地和Firebase云功能上运行 我想向它发送一个条带API webhook 我试着看看是否能找到关于如何直接调用服务器的文档,但我能找到的只是关于使用游乐场运行查询的文档 假设这是我的服务器: new ApolloClient({ uri: `localhost:4000/graphql`, cache: new InMemoryCache(), }); 这是我的服务器: import { ApolloServer } from "apollo
new ApolloClient({
uri: `localhost:4000/graphql`,
cache: new InMemoryCache(),
});
这是我的服务器:
import { ApolloServer } from "apollo-server-express";
import express from "express";
import schema from "./schema";
import resolvers from "./resolvers";
import PaymentsAPI from "./datasources/payments";
const initServer = () => {
const app = express();
const server = new ApolloServer({
typeDefs: schema,
resolvers,
dataSources: () => {
return {
paymentsAPI: new PaymentsAPI(),
};
},
uploads: false,
introspection: true,
playground: true,
context: async ({ req }) => {
return {
request: req,
};
},
});
server.applyMiddleware({ app, path: "/", cors: true });
return app;
};
export default initServer;
如何在不使用操场的情况下向其发送post请求。。。例如,使用邮递员
还有我的第二个问题——我相信webhook将是我的PaymentsAPI数据源/解析器/模式中的另一个功能。我说得对吗?是突变吗?询问?我假设发生了变异,因为我将把一些数据保存到数据库?您可能无法使用常规GraphQL端点作为条带事件的webhook端点。主要原因是GraphQL端点通常会预期具有查询字符串的特定结构的请求,并且应该主要在创建或修改服务器端资源时使用,而webhook端点通常不会这样做。使用firebase时,最常见的方法是创建firebase函数来接收Stripe中的事件:@ttmarek谢谢。这非常有用。@ttmarek my graphql是一个Firebase云函数。因此,您的意思是最好创建一个新的云函数,以便与graphql函数并行处理Stripe。是吗?是的,这是正确的-主要区别在于一个是GraphQL端点,另一个是从Stripe接受普通JSON事件的常规端点。