首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与类型定义相同的架构文档中的类型扩展是否有效?

与类型定义相同的架构文档中的类型扩展是否有效?
EN

Stack Overflow用户
提问于 2019-07-15 16:19:58
回答 1查看 215关注 0票数 0

我很难找到清楚这一点的文档:我可以在我定义类型的同一个模式文档中扩展一个类型吗?我经常会犯以下错误:

代码语言:javascript
复制
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)

模式文档:

代码语言:javascript
复制
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]
}

我想这是不允许的,但是有人能告诉我规范/其他文档在哪里说得很清楚吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-15 16:33:45

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

从规范的角度看,您的类型定义没有什么问题。您所看到的是一个bug,它是特定于新4j-graphql-js

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57043708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档