Date 错误未知类型“;日期时间“;关于gql的阿波罗有效载荷
我有很多问题,但这次我的问题是GraphQL及其负载,我的Date 错误未知类型“;日期时间“;关于gql的阿波罗有效载荷,date,graphql,apollo-server,payload,gql,Date,Graphql,Apollo Server,Payload,Gql,我有很多问题,但这次我的问题是GraphQL及其负载,我的schema.gql和resolvers.js文件如下所示: # schema.gql scalar GraphQLDateTime scalar GraphQLDate scalar GraphQLTime type Query { magicQuery( idMagic: Int magicDate: GraphQLDateTime
schema.gql
和resolvers.js
文件如下所示:
# schema.gql
scalar GraphQLDateTime
scalar GraphQLDate
scalar GraphQLTime
type Query {
magicQuery(
idMagic: Int
magicDate: GraphQLDateTime
): DamnWow
}
type DamnWow {
_id: String
magicDateResult: GraphQLDateTime
}
当我尝试将有效负载用于这样的查询时:
# query
query magicQuery($idMagic: Int, $magicDate: DateTime) {
magicQuery(idMagic: $idMagic, magicDate: $magicDate) {
_id
magicDateResult
}
}
# variables
# {
# "idMagic": 1,
# "magicDate": "2007-12-03T10:15:30Z"
# }
它将返回一个错误:
{
"error": {
"errors": [
{
"message": "Unknown type \"DateTime\".",
"locations": [
{
"line": 1,
"column": 45
}
],
"extensions": {
"code": "GRAPHQL_VALIDATION_FAILED",
"exception": {
"stacktrace": [
"GraphQLError: Unknown type \"DateTime\".",
" at Object.NamedType (/home/alex/workspace/team/node_modules/graphql/validation/rules/KnownTypeNamesRule.js:57:29)",
" at Object.enter (/home/alex/workspace/team/node_modules/graphql/language/visitor.js:323:29)",
" at Object.enter (/home/alex/workspace/team/node_modules/graphql/utilities/TypeInfo.js:370:25)",
" at visit (/home/alex/workspace/team/node_modules/graphql/language/visitor.js:243:26)",
" at Object.validate (/home/alex/workspace/team/node_modules/graphql/validation/validate.js:69:24)",
" at validate (/home/alex/workspace/team/node_modules/apollo-server-core/dist/requestPipeline.js:221:34)",
" at Object.<anonymous> (/home/alex/workspace/team/node_modules/apollo-server-core/dist/requestPipeline.js:118:42)",
" at Generator.next (<anonymous>)",
" at fulfilled (/home/alex/workspace/team/node_modules/apollo-server-core/dist/requestPipeline.js:5:58)"
]
}
}
}
]
}
}
{
“错误”:{
“错误”:[
{
“消息”:“未知类型\“日期时间\”,
“地点”:[
{
"线":一,,
“栏”:45
}
],
“扩展”:{
“代码”:“图形验证失败”,
“例外情况”:{
“stacktrace”:[
“GraphQLError:未知类型\“DateTime\”,
“在Object.NamedType(/home/alex/workspace/team/node_modules/graphql/validation/rules/knowntypeanmesrule.js:57:29)”中,
“在Object.enter(/home/alex/workspace/team/node_modules/graphql/language/visitor.js:323:29)”中,
“在Object.enter(/home/alex/workspace/team/node_modules/graphql/utilities/TypeInfo.js:370:25)”中,
“在访问时(/home/alex/workspace/team/node_modules/graphql/language/visitor.js:243:26)”,
“在Object.validate(/home/alex/workspace/team/node_modules/graphql/validation/validate.js:69:24)”中,
“在验证(/home/alex/workspace/team/node_modules/apollo server core/dist/requestPipeline.js:221:34)”时,
“at Object.(/home/alex/workspace/team/node_modules/apollo server core/dist/requestPipeline.js:118:42)”,
“at Generator.next()”,
“完成时(/home/alex/workspace/team/node_modules/apollo server core/dist/requestPipeline.js:5:58)”
]
}
}
}
]
}
}
如果我在代码中使用相同的参数directy,它就可以正常工作
有人知道此错误的原因吗?架构中的标量类型名称是
GraphQLDateTime
,但在请求中使用的是DateTime
尝试将请求更改为:
query magicQuery($idMagic: Int, $magicDate: GraphQLDateTime) {
magicQuery(idMagic: $idMagic, magicDate: $magicDate) {
_id
magicDateResult
}
}
只是模式中没有
DateTime
type/scalar。。。在查询(arg类型)中尝试GraphQLDateTime
?这很有效。非常感谢。
query magicQuery($idMagic: Int, $magicDate: GraphQLDateTime) {
magicQuery(idMagic: $idMagic, magicDate: $magicDate) {
_id
magicDateResult
}
}