如何在没有 GraphQL 模式语言的情况下定义上传标量?
How to define Upload scalar without GraphQL Schema Language?
有一个示例代码,其中使用 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 语言,我们如何做同样的事情?
您可以创建一个 GraphQLSchemaType 对象。
const uploadType = new GraphQLScalarType({ name: "Upload" });
然后您必须将其用作 GraphQLField
和 GraphQLInputObjectField
对象的类型。
(根据我的经验,GraphQL 模式语言比构建语言原生对象模型更紧凑和可读,实际上我会坚持使用问题中的形式。)
有一个示例代码,其中使用 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 语言,我们如何做同样的事情?
您可以创建一个 GraphQLSchemaType 对象。
const uploadType = new GraphQLScalarType({ name: "Upload" });
然后您必须将其用作 GraphQLField
和 GraphQLInputObjectField
对象的类型。
(根据我的经验,GraphQL 模式语言比构建语言原生对象模型更紧凑和可读,实际上我会坚持使用问题中的形式。)