代码之家  ›  专栏  ›  技术社区  ›  Ramazan Chasygov

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

  •  1
  • Ramazan Chasygov  · 技术社区  · 7 年前

    我有我使用的项目 graphql 需要提供日期思维 图形QL ,当我使用 String 键入日期在解析器中正确显示,但在使用 scalar Date 在resolver中我得到 false intead日期。在文档中找不到任何内容。日期提供为 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() 我不使用 片刻 在我的项目中。

    /*---- 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!
    }
    1 回复  |  直到 7 年前
        1
  •  3
  •   Seena V P    7 年前

    您必须在解析器中解析自定义标量日期

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

    将其添加到解析器中。这可能会解决您的问题