我是靠谱客的博主 等待项链,这篇文章主要介绍GraphQL query时返回指定格式的DateTime,现在分享给大家,希望可以做个参考。

would it be possible to do dates in ISOString format? (011-10-05T14:48:00.000Z)

前端老哥要ISO的,那我就给他ISO的

post.graphql



type Post {
  # ...
  createdAt: String @date
  updatedAt: String @date
}
// ====================================================
//
// This file is part of the Martin.
//
// Create by Martin
// Copyright (c) 2019 Martin
//
// ====================================================

import { SchemaDirectiveVisitor } from 'apollo-server-express';
import { GraphQLField, defaultFieldResolver, GraphQLString } from 'graphql';
import moment = require('moment');

export class DateFormatDirective extends SchemaDirectiveVisitor {
  public visitFieldDefinition(field: GraphQLField<any, any>) {
    const { resolve = defaultFieldResolver } = field;
    field.resolve = async (...args) => {
      const date = await resolve.apply(this, args);
      return moment(date).toISOString();
    };
    // The formatted Date becomes a String, so the field type must change:
    field.type = GraphQLString;
  }
}

 

schemaDirectives 里面引用一下

 

看下文档:https://github.com/apollographql/graphql-tools/blob/master/docs/source/schema-directives.md

最后

以上就是等待项链最近收集整理的关于GraphQL query时返回指定格式的DateTime的全部内容,更多相关GraphQL内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(100)

评论列表共有 0 条评论

立即
投稿
返回
顶部