如何使用与input相同的类型和return类型?

How to use the same type as input and return type?

Location {lat lng}这样的简单类型:

  GraphQLInputObjectType({
    name: 'Location',
    fields: {
      lat: { type: new GraphQLNonNull(GraphQLFloat) },
      lng: { type: new GraphQLNonNull(GraphQLFloat) },
    }
  });

应该可以用作输入和 return 类型。这里的 approach/pattern 是什么?

遗憾的是,您不能将(输出)类型用于输入,反之亦然。但是,您可以创建自定义标量。 Apollo 有一个很好的例子来说明如何做 in their docs。然后你的新 CoordinateScalar 可以很容易地用于输入和输出。

这种方法的另一个好处是,如果您愿意,可以轻松地使用坐标数组(即 [34.000, -78.000]),而不是被迫使用对象。