Nodejs Express GraphQL插件express-graphql的使用

Nodejs Express GraphQL插件express-graphql的使用
express-graphql 是一个用于在 Node.js 的 Express 应用程序中集成 GraphQL 的中间件。它简化了设置和处理 GraphQL 查询的过程。下面是如何使用 express-graphql 的基本步骤。

1. 安装依赖

首先,你需要安装 express, graphql, 和 express-graphql

npm install express graphql express-graphql

2. 创建 GraphQL 架构

创建一个 GraphQL 架构,定义你的数据模型、查询和变更(如果需要)。

const { buildSchema } = require('graphql');

// 构建一个简单的GraphQL架构
const schema = buildSchema(`
  type Query {
    hello: String
  }
`);

3. 创建解析器函数

解析器函数将用于处理 GraphQL 查询,并返回所需的数据。

const root = {
  hello: () => {
    return 'Hello world!';
  },
};

4. 设置 Express 路由

现在,你可以设置 Express 应用程序,并使用 express-graphql 中间件来处理 GraphQL 请求。

const express = require('express');
const { graphqlHTTP } = require('express-graphql');

const app = express();

app.use('/graphql', graphqlHTTP({
  schema: schema,
  rootValue: root,
  graphiql: true, // 在开发环境中启用 GraphiQL IDE
}));

app.listen(4000, () => {
  console.log('Now browse to localhost:4000/graphql');
});

5. 测试

启动应用后,访问 http://localhost:4000/graphql,你将看到 GraphiQL 界面,可以在这里测试你的 GraphQL 查询。

示例查询

例如,你可以尝试发送以下查询:

query {
  hello
}

这应该返回:

{
  "data": {
    "hello": "Hello world!"
  }
}

这就是如何使用 express-graphql 来设置一个基本的 GraphQL API。你可以根据需要扩展架构、添加更多的类型和解析器函数。


3 回复

当然,小火苗!想象一下,你正在做一个美味的披萨(我们的GraphQL API),而Express就是那个神奇的烤箱。express-graphql就是那层薄薄的、能让你披萨更加美味的芝士!

首先,确保你已经安装了express-graphqlgraphql。你可以用魔法命令npm install express-graphql graphql来召唤它们。

接下来,让我们把披萨放进烤箱:

const express = require('express');
const { graphqlHTTP } = require('express-graphql');
const { buildSchema } = require('graphql');

// 用GraphQL schema构建你的披萨食谱
const schema = buildSchema(`
  type Query {
    hello: String
  }
`);

// 这是你的披萨秘方
const root = { hello: () => 'Hello world!' };

const app = express();
app.use('/graphql', graphqlHTTP({
  schema: schema,
  rootValue: root,
  graphiql: true, // 让GraphiQL界面成为你的厨房小助手
}));

app.listen(4000, () => {
  console.log('Now ready to receive queries on port 4000');
});

现在,当你访问http://localhost:4000/graphql时,你会看到一个漂亮的界面,可以开始查询你的API了。就像在你的披萨上加你喜欢的配料一样简单!

祝你编程愉快,记得享受过程!


express-graphql 是一个用于在 Node.js 的 Express 应用中集成 GraphQL 的中间件。下面是一个简单的例子来展示如何使用 express-graphql

首先,确保你已经安装了必要的依赖包:

npm install express graphql express-graphql

然后,你可以创建一个基本的 Express 应用来设置 GraphQL 服务器。以下是一个完整的示例:

const express = require('express');
const { graphqlHTTP } = require('express-graphql');
const { buildSchema } = require('graphql');

// 构建GraphQL模式
const schema = buildSchema(`
  type Query {
    hello: String
  }
`);

// 根解析器
const root = {
  hello: () => {
    return 'Hello world!';
  },
};

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

// 设置GraphQL端点
app.use('/graphql', graphqlHTTP({
  schema: schema,
  rootValue: root,
  graphiql: true, // 启用GraphiQL界面(用于测试和调试)
}));

// 启动服务器
app.listen(4000, () => {
  console.log('Now browse to localhost:4000/graphql');
});

这段代码做了以下几件事:

  1. 使用 buildSchema 函数定义了一个简单的 GraphQL 模式,包含一个查询类型 Query 和一个返回字符串的方法 hello
  2. 定义了一个根解析器对象 root,它包含了对于 hello 查询的实现。
  3. 创建了一个 Express 应用,并通过 app.use 方法添加了一个中间件,该中间件处理所有以 /graphql 开头的请求,并将这些请求交给 express-graphql 中间件进行处理。
  4. 最后,启动服务器监听 4000 端口。

这样,当你访问 http://localhost:4000/graphql 时,你会看到 GraphiQL 界面,可以通过这个界面进行 GraphQL 查询。例如,你可以输入以下查询并执行:

{
  hello
}

这将会返回 Hello world!

express-graphql 是一个用于在Express应用中集成GraphQL的服务。首先安装它:npm install express-graphql graphql。然后在你的Express路由中引入并配置:

const { graphQLHTTP } = require('express-graphql');
const { buildSchema } = require('graphql');

// 构建GraphQL schema
const schema = buildSchema(`
  type Query {
    hello: String
  }
`);

// 定义解析函数
const root = { hello: () => 'Hello World!' };

app.use('/graphql', graphQLHTTP({
  schema: schema,
  rootValue: root,
  graphiql: true, // 开启GraphiQL IDE
}));

这样就设置好了一个基本的GraphQL服务。

回到顶部