【问题标题】:GraphQL : must be Output Type but got: undefined ErrorGraphQL:必须是输出类型,但得到:未定义错误
【发布时间】:2019-09-19 10:20:26
【问题描述】:

我试图从数据库中获取 MySQL 日期并使用 graphql 输出它。我的应用程序构建和运行没有任何问题。但是在graphql ui中,它说下面的错误。

{
  "errors": [
    {
      "message": "The type of Tour.arrival_date must be Output Type but got: undefined."
    }
  ]
}

我的 type.js 文件如下所示。

let {
    GraphQLID,
    GraphQLString,
    GraphQLInt,
    GraphQLFloat,
    GraphQLObjectType,
    GraphQLNonNull,
    GraphQLDate,
    GraphQLList
} = require('graphql')




// Defines the type
module.exports = new GraphQLObjectType({
    name: 'Tour',
    description: 'A Tour',
    fields: {
        id: {
            type: new GraphQLNonNull(GraphQLID)
        },
        name: {
            type: new GraphQLNonNull(GraphQLString)
        },
        pax_count: {
            type: GraphQLInt
        },
        arrival_date: {
            type: GraphQLDate
        }

    }
})

我正在使用以下库作为 ISO 日期。

https://www.npmjs.com/package/graphql-iso-date

有人可以告诉我这可能是什么问题吗? 请注意,我对 GraphQL 真的很陌生。

谢谢 佛教

【问题讨论】:

    标签: mysql node.js graphql isodate


    【解决方案1】:

    您正在从 graphql 导入 GraphQLDate,但 graphql 不会导出具有该名称的变量,因为 GraphQL.js 中没有内置的 Date 标量。如果您使用的是graphql-iso-date,请按照文档中的说明导入适当的标量:

    const { GraphQLDate } = require('graphql-iso-date')
    

    【讨论】:

    • 嗨@daniel-rearden 非常感谢。这解决了问题。
    猜你喜欢
    • 2019-12-23
    • 2018-06-30
    • 2016-10-14
    • 2018-12-18
    • 2017-08-16
    • 2017-09-03
    • 2018-06-25
    • 2018-01-30
    • 2018-11-18
    相关资源
    最近更新 更多