Tag: graphql

架构没有configuration为突变

我有以下架构: import { GraphQLSchema, GraphQLObjectType, GraphQLInt, GraphQLString } from 'graphql'; let counter = 100; const schema = new GraphQLSchema({ // Browse: http://localhost:3000/graphql?query={counter,message} query: new GraphQLObjectType({ name: 'Query', fields: () => ({ counter: { type: GraphQLInt, resolve: () => counter }, message: { type: GraphQLString, resolve: () => 'Salem' } }) }), mutiation: new GraphQLObjectType({ name: […]

Graphql的date字段types必须是输出types,但得到:未定义

我有一个与node / expres和ES6运行的graphql服务器,我想迁移到打字稿,当我想要做graphql架构我遇到一些datetypes的问题。 我知道graphql不包含本地datetypes,但是在我的ES6实现中,我使用graphql-date来支持这个限制。 import { GraphQLObjectType, GraphQLSchema, GraphQLID, } from 'graphql'; import GraphQLDate from 'graphql-date'; const events = new GraphQLObjectType({ name: 'events', description: 'This represent an Event', fields: () => { return { id: { type: GraphQLID, resolve(event) { return event.id; } }, start: { type: GraphQLDate, resolve(event) { return event.start; } } }; […]

如何从需要返回语句的GraphQLparsing器中调用asynchronousnode.js函数?

graphql.org/graphql-js提供的用于创build简单GraphQL实现的Hello World示例如下: var { graphql, 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: () => { return 'Hello World!'; } }; // Run the […]

GraphQL – 传递非特定对象的对象作为参数

我对GraphQL很新颖。 我试图传递一个这样的对象作为参数: { filters: { status: 'approved', id: { LESS_THAN: 200 } } } 或者这个对象也可以是这样的; { filters: { status: ['approved', 'pending'], id: 200 } } 我知道可以在此对象中的所有属性,但所有这些属性可以是string/ int或对象。 我试图这样定义它,但它显然不工作: args: { filters: { type: new GraphQLNonNull(new GraphQLNonNull(GraphQLString)) }, }, 我想用GraphQLtypesGraphQLInputObjectType来定义参数。 const OffersFiltersType = new GraphQLInputObjectType({ name: 'Filters', description: '…', fields: () => ({}) id: { type: […]

如何为MySQL模型创buildGraphQL模式?

我在mysql中有以下表格。 用户 CREATE TABLE users( id INTEGER AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) UNIQUE NOT NULL, email VARCHAR(255) UNIQUE NOT NULL, password VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT NOW() ); 和post CREATE TABLE posts( id INTEGER AUTO_INCREMENT PRIMARY KEY, created_by INTEGER NOT NULL, created_at TIMESTAMP DEFAULT NOW(), post_title VARCHAR(100) NOT NULL UNIQUE, post_body VARCHAR(255) NOT NULL, […]

订阅GraphQL Server时出错

我对GraphQl相当陌生,我在这里遵循GraphQL NodeJS后端教程: GraphQL实时订阅 。 一切运作良好,我完成了教程。 接下来我跟着阿波罗前端教程在这里VueJS: Vue&Apollo订阅 。 我从第一个教程中select使用自己创build的GraphQL服务器,而不是使用前端教程中使用的GraphCool。 这是我卡住的部分。 如果我打电话 subscription { Link(filter: { mutation_in: [CREATED] }) { node { id url description } } } 在GraphiQL客户端中,当我使用数据data: Link: node: {id: "59ef0bbeef32bb05692ee4b4", url: "http://new-test-url2.com", description: "Test description2"}在不同的浏览器选项卡中创build一个新的链接时,我获得了id , url和description data: Link: node: {id: "59ef0bbeef32bb05692ee4b4", url: "http://new-test-url2.com", description: "Test description2"} (此订阅调用也在后端教程中进行)。 但是当我打电话 subscription { Link(filter: { […]

NodeJs GraphQLdynamic查询variables

https://launchpad.graphql.com/9qvqz3v5r 这是我的graphQL例子 如果我通过userId:2作为静态 { user(userId:2){ firstName lastName } } 我会得到如下输出 { "data": { "user": { "firstName": "Joe", "lastName": "spin" } } } 我需要使用dynamic查询variables相同的输出 query getUserNameData($userId: User){ user(userId:$userId){ firstName lastName } } query variables { "userId" : 2 } 但我getter错误为:variables\“$ userId \”不能是非inputtypes\“用户http://prntscr.com/h2ojor 谁能帮我?

不能从apollo-client导入createBatchingNetworkInterface

我正在尝试将graphql与我的vue项目集成。 我按照这些说明: https : //github.com/Akryum/vue-apollo 我有npm根据需要安装“apollo-client”,但由于某种原因,我不能导入“createBatchingNetworkInterface”。 这是我的main.js文件: import Vue from 'vue' import { ApolloClient, createBatchingNetworkInterface } from 'apollo-client' import VueApollo from 'vue-apollo' import App from './App' import router from './router' 这是我的apollo-client的index.d.ts文件: export { print as printAST } from 'graphql/language/printer'; export { ObservableQuery, FetchMoreOptions, UpdateQueryOptions, ApolloCurrentResult } from './core/ObservableQuery'; export { WatchQueryOptions, MutationOptions, SubscriptionOptions, FetchPolicy, FetchMoreQueryOptions, […]

NodeJS Api框架build议,包括Graphql和ACL

我正在寻找一些NodeJS框架/软件包的build议。 小背景:我曾经在一个新手到专业级别写PHP代码。 主要使用Laravel和CodeIgniter。 由于工作变化和其他方面的原因,我在两年内没有碰过PHP。 在过去的半年中,我发现了NodeJS,我非常喜欢它,它的快速和不仅为Web创build项目,而且在桌面应用程序和移动设备上都使用相同语言的能力就是这样一个Plus。 我目前正在为我的新家工作一个家庭自动化工具,但我有点挣扎,因为我找不到一个适当的易于使用的框架(或软件包的组合)具有以下function。 (这只适用于后端,对于frondend,我将使用angular2,4,5(现在有angular度版本2)) 这是我目前的标准: 简单的API框架或简单的方法来实现模型。 访问控制(ACL) Graphql 我试过Loopback框架,我真的很喜欢它。 它检查我的列表的API框架和ACL,并且几乎可以映射到每个数据库,但是不支持Graphql。 我尝试添加一些额外的软件包(loopback-graphql-服务器,loopback-graphql和loopback-graphql-checkacl),但不幸的是我无法使它们正常工作,以太网ACL无法正常工作,或根本没有工作。 (我花了几个小时debuggingloopback-graphql-server来找出为什么我在graphql中得到一个访问被拒绝的消息时,它完全使用其余的API) 所以我正在寻找一些框架或包的组合,在这个框中工作。 任何build议都会有所帮助。

要求本地模块与node_modules模块之间的差异

A在私有库中有一个在node_modules文件夹内的node_modules 。 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _graphql = require('graphql'); var FileTypeEnum = new _graphql.GraphQLEnumType({ name: 'FileType', description: 'The types of report files.', values: { CSV: { value: 'CSV', description: 'Comma-separated values.' }, XLS: { value: 'XLS', description: 'Microsoft Excel.' } } }); exports.default = FileTypeEnum; 我的问题是当我需要它时,它带有正确的属性的对象,但不是GraphQLEnumType的一个实例。 另一方面,如果在我的项目中创build一个本地模块的副本,就像本地模块一样,它可以很好地工作。 import FileTypeA from […]