Устаревший тип в ApolloServer - PullRequest
1 голос
/ 23 октября 2019

Это шаблон для устаревания поля в ApolloServer:

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

Тем не менее, как отказаться от целого типа - например, типа Car выше?

1 Ответ

1 голос
/ 23 октября 2019

Типы не могут быть устаревшими. Только поля и значения перечисления могут быть устаревшими. Это показано в определении директивы @deprecated здесь :

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

и объяснено здесь (выделено мной):

Для поддержки управления обратной совместимостью поля GraphQL и перечислимые значения могут указывать, являются ли они устаревшими (isDeprecated: Boolean), и описание причин, по которым они устарели (deprecationReason: String).

Устаревание предназначено для указания клиенту прекратить запрашивать устаревшие элементы. Так как клиент не запрашивает определенный тип, только определенные поля, исключая тип, на самом деле не имеет смысла.

...