为什么标量日期图QL不起作用



我有一个使用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!
}

您必须解析解析程序中的自定义标量日期

Date: {
  __serialize(value) {
    return value; // value sent to the client
  },
  __parseValue(value) {
    return value;
  },
  __parseLiteral(ast) {
    return JSON.parse(JSON.stringify(ast)).value;
  }
}

在解析器中添加此内容。这可能会解决您的问题

最新更新