我有项目,我使用graphql
并需要提供日期graphql
,当我在解析器中正确显示String
类型日期时,但是当我使用scalar Date
时解析器我得到false
日期。在文档中找不到任何东西。提供日期为Wed Jan 11 2018 21:30:00
。我应该安装moment
因为我收到警告eprecation warning: value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date()
而我在项目中没有使用moment
。
/*---- doesn't work ----*/
scalar Date
type Event {
id: ID!
title: String!
dateStart: Date!
dateEnd: Date!
users: [User]
room: Room
}
input EventInput {
title: String!
dateStart: Date!
dateEnd: Date!
}
/*---- works ----*/
type Event {
id: ID!
title: String!
dateStart: String!
dateEnd: String!
users: [User]
room: Room
}
input EventInput {
title: String!
dateStart: String!
dateEnd: String!
}
答案 0 :(得分:2)
您必须在解析器中解析自定义标量日期
Date: {
__serialize(value) {
return value; // value sent to the client
},
__parseValue(value) {
return value;
},
__parseLiteral(ast) {
return JSON.parse(JSON.stringify(ast)).value;
}
}
在解析器中添加此项。这可以解决您的问题