如何在不使用GraphQL模式语言的情况下定义上载标量?

时间:2018-09-14 06:34:39

标签: graphql graphql-js

有一个示例代码,其中使用GraphQL架构语言定义了上载标量:

import { makeExecutableSchema } from 'graphql-tools'
import { GraphQLUpload } from 'apollo-upload-server'

const typeDefs = `
  scalar Upload
`

const resolvers = {
  Upload: GraphQLUpload
}

export const schema = makeExecutableSchema({ typeDefs, resolvers })

如果没有GraphQL Schema语言,我们该怎么做?

1 个答案:

答案 0 :(得分:3)

您可以创建一个GraphQLSchemaType对象。

const uploadType = new GraphQLScalarType({ name: "Upload" });

然后,您必须将其用作GraphQLFieldGraphQLInputObjectField对象的类型。

(根据我的经验,GraphQL模式语言比建立语言本机对象模型更紧凑,更易读,并且在实践中,我会坚持使用问题中的格式。)