弃用ApolloServer中的类型

时间:2019-10-23 12:57:19

标签: graphql apollo-server

这是在ApolloServer中弃用字段的模式:

type Car {
  id: ID!
  make: String
  model: String
  description: String @deprecated(reason: "Field is deprecated!")
}

但是,我该如何弃用整个类型-例如上面的Car类型?

1 个答案:

答案 0 :(得分:1)

不能弃用类型。只能弃用字段和枚举值。 @deprecated指令here的定义中显示了这一点:

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

并解释了here(重点是我):

  

为支持对向后兼容性的管理,GraphQL 字段和枚举值可以指示是否不推荐使用它们(isDeprecated: Boolean),并说明不推荐使用的原因({{1 }}。

不推荐使用是为了指示客户端停止请求不推荐使用的元素。由于客户端不要求特定的类型,因此仅请求特定的字段,因此不推荐使用不推荐使用的类型。