Apollo-server-express禁用了 introspection,但仍然可以通过 WebSocket 连接进行。
创始人
2024-09-09 06:31:07
0

要禁用Apollo-server-express的introspection功能,但仍然允许通过WebSocket连接进行,您可以使用以下代码示例:

首先,确保您已安装以下依赖项:

npm install apollo-server-express express graphql

然后,创建一个名为server.js的文件,并使用以下代码:

const express = require('express');
const { ApolloServer } = require('apollo-server-express');
const { makeExecutableSchema } = require('@graphql-tools/schema');

// 定义您的GraphQL模式
const typeDefs = `
  type Query {
    hello: String!
  }
`;

// 实现GraphQL解析器
const resolvers = {
  Query: {
    hello: () => 'Hello, world!',
  },
};

const schema = makeExecutableSchema({ typeDefs, resolvers });

// 创建Apollo服务器实例
const server = new ApolloServer({
  schema,
  introspection: false, // 禁用introspection
});

// 创建Express应用
const app = express();

// 将Apollo服务器安装到Express应用中
server.applyMiddleware({ app });

// 创建一个WebSocket服务器,用于处理GraphQL订阅
const httpServer = app.listen(4000, () => {
  console.log(`Server is running on http://localhost:4000/graphql`);
});

server.installSubscriptionHandlers(httpServer); // 将WebSocket服务器与Apollo服务器连接

这将创建一个Apollo服务器,并将其安装到Express应用中。然后,它将创建一个WebSocket服务器,用于处理GraphQL订阅。通过将introspection选项设置为false,禁用了introspection功能。

现在,您可以通过访问http://localhost:4000/graphql进行GraphQL查询和突变。同时,您还可以使用WebSocket连接进行GraphQL订阅。

相关内容

热门资讯

十分钟了解!拱趴大菠萝怎么拿好... 十分钟了解!拱趴大菠萝怎么拿好牌,白金岛有外挂吗,系统教程(有挂总结)该软件可以轻松地帮助玩家将拱趴...
四分钟了解!浩瀚麻将十三水机器... 四分钟了解!浩瀚麻将十三水机器人,手机好友赣南麻将到底有没有挂,安装教程(有挂技巧)1、起透看视 手...
三分钟了解!中至卧龙能控制输赢... 三分钟了解!中至卧龙能控制输赢吗,中至都昌讨赏有挂吗,实用技巧(有挂规律)1、点击下载安装,中至卧龙...
四分钟了解!闲来湖南跑胡子游戏... 四分钟了解!闲来湖南跑胡子游戏攻略,财神十三张开挂,切实教程(有挂规律)1、玩家可以在闲来湖南跑胡子...
十分钟了解!蜜瓜大厅有挂吗,老... 十分钟了解!蜜瓜大厅有挂吗,老友互娱有后台吗,AI教程(有挂普及)老友互娱有后台吗软件透明挂微扑克w...
三分钟了解!蛮籽重庆麻将有挂吗... 三分钟了解!蛮籽重庆麻将有挂吗,天天十三张有外挂没,透明教程(有挂黑科技)1、上手简单,内置详细流程...
1分钟了解!聚星扑克德州有假吗... 1分钟了解!聚星扑克德州有假吗,中至麻将打炸有挂的吗,曝光教程(有挂解说)小薇(透视辅助)致您一封信...
9分钟了解!乐乐上海斗地主有挂... 9分钟了解!乐乐上海斗地主有挂吗,边锋干瞪眼外挂效果,2025教程(有挂解说);1、乐乐上海斗地主有...
4分钟了解!雀魂外 挂,天天仙... 4分钟了解!雀魂外 挂,天天仙桃麻将有挂,科技教程(有挂黑科技)4分钟了解!雀魂外 挂,天天仙桃麻将...
6分钟了解!微信小程序途游辅助... 6分钟了解!微信小程序途游辅助器,心悦填大坑能控制发牌么,必赢方法(有挂透明)1、进入到心悦填大坑能...