这是在ApolloServer中弃用字段的模式:
type Car {
id: ID!
make: String
model: String
description: String @deprecated(reason: "Field is deprecated!")
}
但是,我该如何弃用整个类型-例如上面的Car
类型?
答案 0 :(得分:1)
不能弃用类型。只能弃用字段和枚举值。 @deprecated
指令here的定义中显示了这一点:
directive @deprecated(
reason: String = "No longer supported"
) on FIELD_DEFINITION | ENUM_VALUE
并解释了here(重点是我):
为支持对向后兼容性的管理,GraphQL 字段和枚举值可以指示是否不推荐使用它们(
isDeprecated: Boolean
),并说明不推荐使用的原因({{1 }}。
不推荐使用是为了指示客户端停止请求不推荐使用的元素。由于客户端不要求特定的类型,因此仅请求特定的字段,因此不推荐使用不推荐使用的类型。