Articles of graphql js

Graphql模式返回null

我试图返回一个身份validation令牌,以响应用户名和密码作为参数的graphql查询,但不知何故graphql总是返回null 。 我可以在返回之前打印令牌。 var { GraphQLObjectType, GraphQLInt, GraphQLList, GraphQLString, GraphQLSchema } = require('graphql'); let MyUser = require('./modules/user/user'); const Query = new GraphQLObjectType({ name: 'Query', description : 'UserQuery', fields: function(){ return { Token :{ type: GraphQLString, description : "Authentication token", args: { user_name: { type: GraphQLString }, password: { type: GraphQLString }, }, resolve(root, args){ let […]

使用Babel将ApolloClient转换为节点环境的ES5 CommonJS模块格式

使用Babel将ApolloClient转换为ES5 CommonJS模块格式 我试图使用Babel来让apollo-client模块在非浏览器节点环境中作为ES5工作。 我已经经历了下面的步骤总是给我相同的结果。 我试图找出这个结果是否是一个节点环境的正确结果。 当我将babel处理的文件导入到我的项目中并调用应该导出的方法时,即时获取,找不到模块。 对于上下文,该项目是一个fusetools.com演示。 保险丝不支持ES2015承诺,所以这个想法是,与巴贝尔es2015预设,它应该工作。 我主要是为了学习某些东西而追求这个目标,但如果能够实现这个目标,这将是一件好事。 任何意见,以更容易的方式来做到这一点,现在我了解得更好,将不胜感激。 我在这里find了代码的项目。 fusetools项目,我使用转换的代码在这里 。 我得到的错误是: LOG: Error: JavaScript error in MainView.ux line 9: Name: Fuse.Scripting.Error Error message: require(): module not found: js/apollo-client/ApolloClient.js File name: MainView.ux Line number: 9 Source line: var ApolloClient = require('js/apollo-client/ApolloClient.js'); 这是我试图达到的代码: “` "use strict"; var networkInterface_1 = require('./transport/networkInterface'); var isUndefined = require('lodash.isundefined'); […]

Graphql需要模块外部vs GraphQLObjectType内部

可能是标题不适合我的问题,但让我解释我的情况。 我正在使用Graphql schema.Here是我最初的schema.js文件https://github.com/sany2k8/graphql-udemy/blob/master/schema/schema.js 它工作正常,然后我决定把它分成不同的小文件,例如root_query_type.js , mutation.js , user_type.js和company_type.js 。 所有文件都作为模块导出并循环使用。 例如 – user_type.js const graphql = require('graphql'); const axios = require('axios'); const { GraphQLObjectType, GraphQLString, GraphQLInt } = graphql; //const CompanyType = require('./company_type'); // *this line causing error* const UserType = new GraphQLObjectType({ name: "User", fields: () => ({ id:{ type: GraphQLString}, firstName:{ type: GraphQLString}, […]

GraphQL-js Node / Express:如何在GraphQL Query中传递一个弦乐对象?

我的目标是能够在GraphQL查询中传递一个弦乐对象。 目标: { accounts (filter: '{"fieldName": "id", "fieldValues":["123"], "filterType":"in"}'){ id } } 错误: "Syntax Error GraphQL request (1:22) Unexpected single quote character ('), did you mean to use a double quote (\")?" 问题是GraphQL似乎不接受用单引号包围的string。 在对象中使用单引号是不可能的,因为这将需要对编译这些对象的客户端进行重大更改。 例: { "fieldName": "id", "fieldValues":["123"], "filterType":"in" } 架构: accounts: { type: new GraphQLList(accountType), args: { id: { type: GraphQLString }, status: […]

NodeJs GraphQL片段parsing器

这是我的例子。 我正在尝试片段。 我不知道如何将片段连接到parsing器。 谁能帮我? https://launchpad.graphql.com/9qvqz3v5r 如果我查询如下 { user { userId firstName lastName pincode state country } } 我会得到这个输出JSON { "data": { "user": { "userId": 4, "firstName": "Priya", "lastName": "zzz", "pincode": "600021", "state": "TN", "country": "INDIA" } } } 我需要相同的输出,如果我使用片段查询。 { user { userId firstName lastName addressDetails } }

GraphQL错误“字段必须是字段名称作为键的对象或返回这样的对象的函数。

为什么我从模式文件中得到这个错误? 错误: graphql/jsutils/invariant.js:19 throw new Error(message); ^ Error: Entity fields must be an object with field names as keys or a function which returns such an object. 错误发生在PersonType的entity prop上。 味精指示Entity上的每个字段都应该是一个对象,但是我没有看到任何地方的例子。 基本上,我试图从一个Person查询返回一个值,从DuckDuckGo API获取一些数据。 从API返回的数据是一个具有许多属性的对象,其中我试图用两个来填充我的Person对象上的一个entity对象。 我已经看过types系统文档,但没有看到答案。 http://graphql.org/docs/api-reference-type-system/ 这是在Node上运行的代码,并被提供给GraphiQL UI。 任何意见,将不胜感激! 谢谢。 码: const PersonType = new GraphQLObjectType({ name: 'Person', description: '…', fields: () => ({ name: { […]

GraphQL的最低必需节点版本?

我正在尝试获取在Node.js环境中作为服务器工作的GraphQL.js的参考实现。 请注意,我对Node.js的使用经验有限。 现在,我正在使用node v4.2.6,它是Ubuntu的Ubuntu 16.04的最新软件包。 官方文件说,这个脚本应该工作: var express = require('express'); var graphqlHTTP = require('express-graphql'); var { buildSchema } = require('graphql'); // Construct a schema, using GraphQL schema language var schema = buildSchema(` type Query { hello: String } `); // The root provides a resolver function for each API endpoint var root = { hello: […]

在GraphQL中上传图像

我怎样才能在graphql中处理图片上传? 通过Muller使用快速path来处理从graphql上传和查询来查看图像和其他数据 app.use('/graphql', upload); app.use('/graphql', getData, graphqlHTTP(tokenData => ({ schema, pretty: true, tokenData, graphiql: true, })));

如何将请求正文传递到GraphQL上下文?

我目前正在尝试将请求主体放到上下文中,因为正文的一部分包含需要解码的JWT。 但是,当我尝试以下我得到上下文的未定义: app.use('/', graphqlHTTP((req) => ({ schema: Schema, context: req.body, pretty: true, graphiql: false }))); 我退出了请求,我没有看到身体在那里。 我正在使用名为react-reach的库,它将以下内容添加到请求中的正文: { query: {…}, queryParams: {…}, options: { token: '…' // <– I'm passing the token into options } } 我知道身体正在被解释,因为我身体的查询/突变正在被解释和执行。 当传递到上下文似乎无法find它。

有没有一种方法来从protobuf生成GraphQL模式?

我有一个相当大/复杂的API的protobuf定义,我不知道是否有一个方便的工具来自动生成一个文本GraphQL模式和它的(嵌套)types从这个protobuf的子集? 我正常使用Node.js,但我打开其他语言来生成架构。 提前致谢!