首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我需要通过从graphql包中导入来使用graphqlHTTP函数,但它不起作用

从graphql包中导入graphqlHTTP函数是为了在Node.js中使用GraphQL的HTTP中间件。该函数可以将GraphQL查询和变异请求处理为HTTP请求,并将结果返回给客户端。

使用graphqlHTTP函数的步骤如下:

  1. 首先,确保已经安装了graphql和express等必要的依赖包。
  2. 在代码中导入所需的包:
代码语言:txt
复制
const express = require('express');
const { graphqlHTTP } = require('express-graphql');
const { buildSchema } = require('graphql');
  1. 定义GraphQL模式和解析器函数。这里假设你已经有了一个GraphQL模式和相应的解析器函数。
代码语言:txt
复制
const schema = buildSchema(`
  // 在这里定义你的GraphQL模式
`);

const root = {
  // 在这里定义你的解析器函数
};
  1. 创建Express应用程序并将graphqlHTTP函数作为中间件使用:
代码语言:txt
复制
const app = express();

app.use('/graphql', graphqlHTTP({
  schema: schema,
  rootValue: root,
  graphiql: true // 设置为true以启用GraphQL的可视化界面
}));

app.listen(3000, () => {
  console.log('GraphQL server running on http://localhost:3000/graphql');
});

现在,你可以通过访问http://localhost:3000/graphql来使用GraphQL的可视化界面,并发送GraphQL查询和变异请求。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless):https://cloud.tencent.com/product/scf
  • 云开发(CloudBase):https://cloud.tencent.com/product/tcb
  • 云数据库 MongoDB 版:https://cloud.tencent.com/product/tcbs-mongodb
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 人工智能(AI):https://cloud.tencent.com/product/ai
  • 物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 区块链(Blockchain):https://cloud.tencent.com/product/baas
  • 视频处理(VOD):https://cloud.tencent.com/product/vod
  • 音视频通话(TRTC):https://cloud.tencent.com/product/trtc
  • 网络安全(SSL):https://cloud.tencent.com/product/ssl
  • 云原生应用引擎(TKE):https://cloud.tencent.com/product/tke

请注意,以上链接仅供参考,具体的产品选择应根据实际需求和项目要求进行评估和决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

你不知道的 GraphQL

需要注意一个细节:在graphqlHTTP配置时,传递进去的是一个函数(graphqlHTTP(req => ({ ... }))),而非之前的对象(graphqlHTTP({ ... }))。...为了添加扩展信息,我们需要graphqlHTTP配置添加extension函数,它返回一个支持json序列化的对象。...认证 & 中间件 GraphQL规范并没有包含认证授权相关的内容。这意味着你不得不自己做,可以使用express对应的中间件库(你可能需要passport.js[20])。...一些教程推荐使用graphQL的Mutation实现注册和登录功能[21],并且在resolver函数实现认证逻辑。但我的观点是,这在多数场景中都显得过火了。...顺便说一句,graphqlHTTP内部就是调用它工作的。 另一种Apollo公司比较推荐的测试手段是使用来自graphql-tools的mockServer测试。

3.3K20
  • 尝试使用官方教程学习 GraphQL

    使用 REST API 时,如果要获取用户和用户拥有的书籍数据,通常需要从各自的 API 获取用户信息和书籍信息,然后在客户端组合所需的属性。...然而,在 GraphQL ,您可以指定所需的数据和字段获取,无需从多个端点获取数据并组合。...npm init -y && npm i ts-node graphqlGraphQL 获取数据需要定义查询类型(Query type)的模式以及实际处理数据的被称为 Resolver 的函数的实现...} }Running an Express GraphQL Server可以使用 Express 将 GraphQL 服务器挂载到 HTTP 终端点上安装npm init && npm i ts-node...在 REST API ,根据用途使用 GET/DELETE/POST/PUT 等不同的请求方法,但在 GraphQL ,所有查询都使用 POST。

    17310

    基于React和GraphQL的黛梦设计与实现

    CRUDmysql的使用 React 和 React Hooks的使用 因为涉及到React、GraphQL,还有MySQL的一张用户表User,所以我本来是想起一个“搞人实验”的名字,后来斟酌了一下...= require('express-graphql'); 上面分别导入了相应的,express用来创建相应的HTTP服务器,buildSchema用来创建相应的类型、Query和Mutation...graphqlHTTP用来将相应的实现以中间件的形式注入到express。...Class组件一样可以使用state, useEffect它接受两个参数,第一个是函数,第二个是一个数组,数组的元素的变化会触发这个钩子的函数的执行。...实际上在开发,我们往往会采用社区一些成熟的技术栈,比如你需要进一步了解GraphQL,可以去了解下Apollo这个库。

    1.8K20

    GraphQL真香入门教程

    看完复联四,整理了这份 GraphQL 入门教程,哈哈真香。。。...{ buildSchema } = require('graphql') const graphqlHTTP = require('express-graphql') 创建一个 schema 定义查询语句和类型...Mutation 使用 根据前面的学习,我们知道,要做查询操作,需要使用 Query 声明: type Query { queryHero(heroName: String): String...在 express ,可以很简单的使用中间件将请求进行拦截,将没有权限的请求过滤并返回错误提示。 中间件实际上是一个函数,在接口执行之前,先拦截请求,再决定我们是否接着往下走,还是返回错误提示。...八、ConstructingTypes 在前面的介绍,我们要创建一个 schema 都是使用 buildSchema 方法定义,但我们也可以使用另外一种定义方式。

    7.2K30

    GraphQL】225-GraphQL真香入门教程

    便于维护,根据需求平滑演进,添加或隐藏字段; GraphQL 使用类型保证应用只请求可能的数据,还提供了清晰的辅助性错误信息。应用可以使用类型,而避免编写手动解析代码。 2....{ buildSchema } = require('graphql') const graphqlHTTP = require('express-graphql') 创建一个 schema 定义查询语句和类型...Mutation 使用 根据前面的学习,我们知道,要做查询操作,需要使用 Query 声明: type Query { queryHero(heroName: String): String...在 express ,可以很简单的使用中间件将请求进行拦截,将没有权限的请求过滤并返回错误提示。 中间件实际上是一个函数,在接口执行之前,先拦截请求,再决定我们是否接着往下走,还是返回错误提示。...八、ConstructingTypes 在前面的介绍,我们要创建一个 schema 都是使用 buildSchema 方法定义,但我们也可以使用另外一种定义方式。

    8.1K21

    何为GraphQL

    此方法在一个动态环境的问题在于你无法获取充足的信息(比如你只获取了一组id但你需要更多的信息)或者得到太多的信息(比如当你只需要队员名字时你确收到队员所有的信息)。 这些都是很难解决的问题。...这个方法避免了许多API终点的问题,但它违背了REST模型的理念。 你可以说GraphQL已将此方法用到了极致。它不是根据明确定义的资源思考,而是根据整个资源领域的子图进行思考。 ?...属性类型可以是由GraphQL提供的基础类型的一种,像ID,字符串,布尔函数或用户自定义类型。 GraphQL图的节点是用户自定义的类型,连接节点的线是用户自定义类型的属性。...强烈推荐使用测试不同的查询。 ? 使用GraphQL的特别查询 ? 一切都设定好了。 让我们导航到http://localhost:3000/graphql并找点乐子。...我们可以定义GraphQL变动执行操作,如添加,更新和删除图中的数据。 首先,让我们在模式添加一个变动类型。

    3.5K60

    用Node.js创建安全的 GraphQL API

    你会发现几乎在每种情况下都会有一个不需要你去详细了解的API,例如你不需要知道它们是怎样构建的,并且不需要使用与他们相同的技术就能够将其集成到你自己的系统。...在今天的文章,我们将专注于怎样用Node.js创建GraphQL API。 为什么要使用Node.js? GraphQL有好几个不同的支持库可供使用。...下一步是在Express处理我们的程序和基本的GraphQL配置,例如: 1 import express from 'express'; 2 import graphqlHTTP from 'express-graphql...我们现在可以通过访问http://localhost:3000/graphql测试自己的GraphQL 尝试一个mutation,将一个项目添加到我们的product列表: ?...总结和最后的想法 让我们回顾一下本文的内容: 在Node.js下可以通过Express和GraphQL构建GraphQL API; 基本的GraphQL使用; 查询和修改的基本用法; 为项目创建模块的基本方法

    1.6K30

    【译】如何在 Node.js 创建安全的 GraphQL API

    实际上,在这些场景,你都会发现有些 API 你并不需要详细了解它。比如,你不需要知道他们是如何构建的,也不需要在自己的系统中使用和它们一样的技术。...所以当两者通过 API 的形式进行通信时,其他项目也可以使用同样的方式工作。 如果你在一个大团队工作,可以将它拆分成前端和后端两个团队,这样他们就可以使用相同的技术栈工作从而提高效率。...这篇文章更多的是一个实用指南,而不是对 GraphQL 和 REST 进行主观比较。如果你想了解这两者的详细区别,建议你可以看看我的另一篇文章: GraphQL vs....现在我们构建 GraphQL API 的基本内容,首先我们先导入以下依赖库: import express from 'express'; import graphqlHTTP from 'express-graphql...; 创建模块 (Module) 的基本方法; 测试我们的 GraphQL API; 为了将内容侧重于开发使用,本文忽略了开发中一些重要的内容,简单总结如下: 新增内容时需要校验 对服务的错误进行正确处理

    2.5K20

    使用 React 和 GraphQL 做一个todo list

    你也可以 在众多app挑选,但是这些日子开始使用React做项目,所以我将会选择React做前端框架。不过,你也可以挑选你用得习惯的任何js框架。...需要创建一个匹配代码基层的GraphQL 类型语法(schema)。在接下来的代码,我们定义一个简单的语法(schema)。...一次关于本例子的彩排 首先,的们需要 一个服务端 (运行正常的)来接收我们从Todo List应用发出的GraphQL请求。这个服务端已经在上面写好了。...一个值得注意的事是我们在所有的修改传递参数,所以有的字段都 可接收参数。追加参数是相当简单,并且它们都可以被resolve函数捕获。...第二,我们本地创建了一个服务端代理直接使用GraphQL 请求我们创建的服务。 更多的细节 ,查看下面的图片。 ? 而且,你能 在这 找到一个demo。 ?

    2K130

    GraphQL+Koa2实现服务端API结合Apollo+Vue

    GraphQL 对你的 API 的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且 没有任何冗余。...从这个意义上说,它是数据库无关的, 而且可以在使用 API 的任何环境中有效使用,我们可以理解为 GraphQL 是基于 API 之上的一 层封装,目的是为了更好,更灵活的适用于业务的需求变化 GraphQL...比如:字段冗余,扩展性差、无法聚合 api、无法 定义数据类型、网络请求次数多 GraphQL 的出现整好弥补了 RESTful APi 的不足 使用 GraphQL 的公司 目前已经有很多的公司在使用...ID类型使用和String一样的方式序列化;然而将其定义为ID意味着并不需要可读型。...四、Koa中集成GraphQl实现 Server API 下载数据库文件解压并导入mongodb即可 https://blog.poetries.top/db/koa.zip 导入mongodb数据库

    5.2K42

    与我一起学习微服务架构设计模式8—外部API模式

    使用GraphQL实现API Gateway 实现支持多种客户端的REST API的API Gateway非常耗时,你可能需要考虑使用基于图形的API框架,如GraphQL。...基于查询的API框架通过从一个或多个服务检索数据执行查询。...执行GraphQL 使用GraphQL的主要好处是它的查询语言为客户端提供了对返回数据的令人难以置信的控制。客户端通过向服务器发出包含查询文档的请求执行查询。...把模式连接到数据源 当GraphQL服务器执行查询时,必须从一个或多个数据存储检索所请求的数据。通过将解析函数附加到模式定义的对象类型字段,可以将GraphQL模式与数据源相关联。...GraphQL通过调用解析器函数检索数据,以此实现API组合模式。 GraphQL通过递归调用Query文档中指定的字段解析器函数来执行查询。

    1.4K30

    为 Vue 配置 GraphQL API

    本文提供一个跑的的 demo,可以先收藏,后面如有需要可以直接使用。...注意第一步执行 vue create hello-world 时我们选择默认的 Vue2, Vue3 是 2020 年 09 月 18 日发布的,使用 Vue3 时后面生成样例代码那一步报错了,这里暂时用...使用 Vue Apollo Vue Apollo[2] 是一个三方库,可以让你在 Vue 的应用中使用 GraphQL使用起来也很轻松,在上述 hello-world 目录下,也就是 package.json...同级的目录下,打开命令窗口执行: vue add apollo 这个命令会自动安装 npm graphql graphql-tag @apollo/client。... 这里为了让返回的 json 数据格式更加好看,这里用了插件:vue-json-pretty,只需要使用 npm install vue-json-pretty --save 安装下

    1.2K20

    实践微服务,第14部分:GraphQL

    “Account”定义了由另一个的命名函数引用提供的解析函数。...除了一些重构,确保我们的旧/account/ {accountId}HTTP端点使用和的新的用GraphQL解析函数“”fetchAccount”函数相同的代码获取帐户对象之外,没有新的东西。...handler提供,该程序接受我们的模式(在同一的accountql.go声明)作为参数。...在这一章节,我们增加了使用GraphQL查询我们的account对象的支持。虽然我们的使用非常基础,但它应该让您开始使用GoLog GraphQL。...关于GraphQL还有很多需要探索的地方,为了进一步的研究,推荐官方介绍以及wehavefaces.net。 在下一章节,我们将最终使用Prometheus端点添加对监视的支持。

    2.6K40

    防止你的GraphQL API被恶意查询

    在这篇文章,他描述了他们是如何在攻击中保护GraphQL API。 使用GraphQL,你可以随时查询想要的内容。 这对于使用API来说是惊人的,但也具有复杂的安全隐患。 ...为了防止这种情况,我们需要分析查询,然后再运行它们计算它们的复杂性,如果它们太耗时,则会阻止它。虽然这比我们以前的两项保护措施都要做得更好,但它可以确保没有恶意查询可以到达我们的解决方案。...尝试使用糟糕的查询崩溃或放慢API,检测它的承受能力 – 也许你的API是没有这些嵌套关系,或者它可以处理一次获取数千条记录,而且没有问题,这是不需要做查询成本分析的!...(The GitHub GraphQL API also uses Query Cost Analysis) 实施查询成本分析 在npm上有几个实现查询成本分析。 ...总结 总而言之,建议使用深度和数量限制作为任何GraphQL API的最低保护 – 它们很容易实现,并且会提供足够的安全性。 根据您的特定安全要求和架构,您可能还需要做查询成本分析。

    1.8K10

    超越 REST

    1Graphile 在早期的 GraphQL 探索过程,Netflix 的工程师意识到 Graphile 库可以将 PostgreSQL 数据库对象(表、视图和函数)作为 GraphQL API 呈现...使用 Docker,我们定义了一个轻量级的独立容器,它允许我们将 Graphile 库及其支持的代码打包成一个独立的,任何团队都可以在 Netflix 上使用它,而无需额外的编码。...使用 PostgreSQL 聚合函数 时,请使用 PostgreSQL 复合类型。...Netflix 的其他团队也正在寻找对应的 GQLMS 方法: 使用标准的 GraphQL 构造函数和实用程序将数据库公开为 API 利用自定义的 PostgreSQL 类型构建 GraphQL 模式...通过从数据库自动生成大型 API 提高灵活性 并在 Graphile 生成的业务逻辑和数据类型之外,额外公开其他自定义的业务逻辑和数据类型 这是一个替代之前使用 REST 实现内部 CRUD 工具的可行解决方案

    2.9K20
    领券