【问题标题】:Is it valid to extend a type in the same schema doc as the type definition在与类型定义相同的模式文档中扩展类型是否有效
【发布时间】:2019-07-16 00:34:48
【问题描述】:

我很难找到明确说明这一点的文档:我可以在定义类型时在同一个模式文档中扩展类型吗?我不断收到如下错误:

Error: Cannot extend type "Healthcheck" because it is not defined.
    at assertValidSDL (/Users/rhys.evans/Projects/or/biz-ops-api/node_modules/graphql/validation/validate.js:80:11)
    at Object.buildASTSchema (/Users/rhys.evans/Projects/or/biz-ops-api/node_modules/graphql/utilities/buildASTSchema.js:69:34)
    at Object.buildSchemaFromTypeDefinitions (/Users/rhys.evans/Projects/or/biz-ops-api/node_modules/graphql-tools/dist/generate/buildSchemaFromTypeDefinitions.js:23:28)
    at makeExecutableSchema (/Users/rhys.evans/Projects/or/biz-ops-api/node_modules/graphql-tools/dist/makeExecutableSchema.js:26:29)
    at makeAugmentedExecutableSchema (/Users/rhys.evans/Projects/or/biz-ops-api/node_modules/neo4j-graphql-js/dist/augment.js:75:49)
    at makeAugmentedSchema (/Users/rhys.evans/Projects/or/biz-ops-api/node_modules/neo4j-graphql-js/dist/index.js:232:53)
    at createSchema (/Users/rhys.evans/Projects/or/biz-ops-api/server/data/graphql-schema.js:36:17)
    at EventEmitter.constructAPI (/Users/rhys.evans/Projects/or/biz-ops-api/server/routes/graphql.js:19:21)
    at emitOne (events.js:121:20)
    at EventEmitter.emit (events.js:211:7)

架构文档:

directive @deprecated(
  reason: String = "No longer supported"
) on FIELD_DEFINITION | ENUM_VALUE | ARGUMENT_DEFINITION

type Healthcheck {
  code: String
}

type Check {
  name: String
}

extend type Healthcheck {
  checks: [Check]
}

这是不允许的,但任何人都可以指出规范/其他文档在哪里明确说明了吗?

【问题讨论】:

    标签: graphql graphql-js neo4j-graphql-js


    【解决方案1】:

    通常,类型扩展在与类型定义相同的文档中工作。大多数接受多个文档或类型定义的库都会在使用该文档生成架构之前将它们全部合并到一个文档中。

    从规范的角度来看,您的类型定义没有任何问题。您看到的是一个错误,即specific to neo4j-graphql-js

    【讨论】:

    • 谢谢 - 我一直在翻阅包裹,但它都被转译了,所以不能很好地理解它。
    猜你喜欢
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    相关资源
    最近更新 更多