当前位置: 首页 > 知识库问答 >
问题:

图ql。如何编写解析器

蓬新
2023-03-14

我刚刚开始进入GraphQL。我使用GraphQL. js和Express。现在我正试图构建一个简单的例子,使用硬编码的JSON作为我的javascript文件中的数据。然后我想使用快速中间件通过curl或失眠来监听HTTP请求。在中间件中,我想使用身体解析器提取查询。现在我有麻烦与解析器。

请看一下我的代码

var express = require('express');
var graphqlHTTP = require('express-graphql');
var { buildSchema, graphql } = require('graphql');
var bodyParser = require('body-parser');

var schema = buildSchema(`
  type Product {
    name: String!
    price: Int!
  }

  type Query {
    product(name: String): Product
  }
`);

var products = {
  'Mango': {
    name: 'Mango',
    price: 12,
  },
  'Apfel': {
    name: 'Apfel',
    price: 3,
  },
};

resolvers = {
  Query: {
    product: (root, { name}) => {
      return products[name];
    },
  },
};

var app = express();
app.use(bodyParser.text({ type: 'application/graphql' }));

app.post('/graphql', (req, res) => {
  graphql(schema, req.body)
  .then((result) => {
    res.send(JSON.stringify(result, null, 2));
  });
});

app.listen(4000);

这是行不通的。当我使用curl和

curl-XPOST-H“内容类型:应用程序/graphql”-d“{product(名称:\'Apfel\”){name price}”http://localhost:4000/graphql

我得到响应{“data”{“product”:null}。解析程序不会被调用。如何才能正确地执行此操作?

共有2个答案

郭华美
2023-03-14

推荐看FunFunction系列集中在GraphQl:GraphQl基础上的一集

他所有的剧集都很有趣(真的很有趣)...

钱远
2023-03-14

你能试试这个吗?

var resolvers = {

  product: (args) => {
    return products[args.name];
  },


};
app.post('/graphql', (req, res) => {
  graphql(schema, req.body, resolvers)
    .then((result) => {
      res.send(JSON.stringify(result, null, 2));
    });
});
 类似资料:
  • 问题内容: 我想知道如何编写探查器?推荐哪些书籍和/或文章?谁能帮我吗? 有人已经做了这样的事情? 问题答案: 我将首先看一下那些开源项目: Eclipse TPTP(http://www.eclipse.org/tptp/) VisualVM(https://visualvm.dev.java.net/) 那我看看JVMTI(不是JVMPI) http://java.sun.com/develo

  • 尝试实现reactive graph ql并遇到一些问题。 pom相关性, 架构:- 分解器:- 这里,如果我返回Flux或Mono,得到以下错误。 所以,尝试作为列表返回。 但是使用阻塞调用将Flux转换为List也会抛出错误, 这里,得到下面的错误。 使用graphiql进行测试。 http://localhost:8089/graphiql

  • 本文向大家介绍详解如何使用Java编写图形化的窗口,包括了详解如何使用Java编写图形化的窗口的使用技巧和注意事项,需要的朋友参考一下 窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作用。有以下三种窗口: Applet窗口:Applet类管理这个窗口,当应用程序程序启动时,由系统创建和处理; 框架窗口(JF

  • 本文向大家介绍python 如何读、写、解析CSV文件,包括了python 如何读、写、解析CSV文件的使用技巧和注意事项,需要的朋友参考一下 您知道将表格数据存储到纯文本文件背后的机制是什么吗?答案是CSV(逗号分隔值)文件,该文件允许将数据转换为纯文本格式。在这篇文章中关于“在Python如何阅读CSV文件”中,我们将学习如何读,写和解析的CSV文件的Python。 将详细讨论以下方面: 什么

  • 我从AWS Amplify GraphQL(我相信它使用apollo codegen)自动生成了一个类型脚本,如下所示: 我想生成一个基本类型的“注释”,作为“基本”类型,在使用返回的数据时在我的代码中使用。即将注释映射到React组件上,等等。 有没有办法缩小自动生成的类型,或者以某种方式对其进行扩展,使其看起来像:

  • 问题内容: 类似于,是否有写方法? 我正在通过重写一些旧代码来练习Java 8。而且,我想知道如何使用Stream API编写以下函数。 我希望它将转化为以下内容: 问题答案: