GraphQL: должен иметь тип вывода, но получил: undefined Ошибка - PullRequest
1 голос
/ 30 апреля 2019

Я пытался получить MySQL Date из базы данных и вывести его с помощью 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.

Спасибо, Буддика

1 Ответ

2 голосов
/ 30 апреля 2019

Вы импортируете GraphQLDate из graphql, но graphql не экспортирует переменную с таким именем, поскольку в GraphQL.js нет встроенного скаляра для даты. Если вы используете graphql-iso-date, импортируйте соответствующий скаляр, как описано в документации:

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