Я очень новичок в GraphQL, так что, возможно, я что-то здесь упускаю.В настоящее время я создаю конечную точку GraphQL базы данных Postgres SQL с помощью PostGraphile Я могу выполнять запросы, но я только что узнал о подписках GraphQL и, очевидно, PostGraphile поддерживает это, как объяснено здесь ,Вот что я делаю.
Экспресс-сервер
const express = require("express");
const { postgraphile, makePluginHook } = require("postgraphile");
const { default: PgPubsub } = require("@graphile/pg-pubsub");
const pluginHook = makePluginHook([PgPubsub]);
var cors = require('cors');
const app = express();
app.use(cors());
let url = "postgres://postgres:docker@localhost:5432/dvdrental";
app.use(postgraphile(url,"public", {
graphiql:true,
pluginHook,
subscriptions: true,
simpleSubscriptions: true,
}));
app.listen(3000);
Подписка как
subscription {
listen(topic: "hello") {
query {
allPayments {
nodes {
customerId
paymentDate
nodeId
}
}
}
}
}
Запуск как
postgres=# select pg_notify( 'postgraphile:hello', '{}' );
Но я не вижучто-нибудь в ответе Graphiql
WebSocket / Network
Вот что я получаю на панели WebSocket / Network @Benjie.Действия {type:"ka}
выполняются в случайном интервале.