LINUX.ORG.RU

История изменений

Исправление upcFrost, (текущая версия) :

Ну, не совсем. Я хочу чтоб при обновлении условно булевого флага в ToDo из примера фронт из схемы понимал что меняется именно этот флаг, а не картинки, статус аккаунта или ещё что-то. При сильной вложенности это становится проблемой, и без понимания что меняется пропадает основная плюшка gql про выбор полей потому что по умолчанию фронт тащит всё что видит

Погодь, а нафига всё выбирать если у тебяидет сохранение определённого объекта. Он же должен либо как ответ либо как апдейт прилететь.

Не сохранение а частичный апдейт крупной модели. Для фронта выбирать всю модель накладно, для бэка тоже

Пример:

interface Completable {
  id: ID!
  done: Boolean!
}

type ToDo implements Completable {
  id: ID!
  done: Boolean!
  pics: ...
  text: ...
  ... # пачка полей
}

type Mutation {
  markToDoAsDone(id: ID!): Completable
}

Из такой модели сходу понятно что мутация меняет флаг done и другие поля можно не тянуть. Если модель крупная - это может здорово сэкономить трафик и упростить взаимодействие с фронтом

Исходная версия upcFrost, :

Ну, не совсем. Я хочу чтоб при обновлении условно булевого флага в ToDo из примера фронт из схемы понимал что меняется именно этот флаг, а не картинки, статус аккаунта или ещё что-то. При сильной вложенности это становится проблемой, и без понимания что меняется пропадает основная плюшка gql про выбор полей потому что по умолчанию фронт тащит всё что видит

Погодь, а нафига всё выбирать если у тебяидет сохранение определённого объекта. Он же должен либо как ответ либо как апдейт прилететь.

Не сохранение а частичный апдейт крупной модели. Для фронта выбирать всю модель накладно, для бэка тоже

Пример:

interface Completable {
  done: Boolean!
}

type ToDo implements Completable {
  id: ID!
  done: Boolean!
  pics: ...
  text: ...
  ... # пачка полей
}

type Mutation {
  markToDoAsDone(id: ID!): Completable
}

Из такой модели сходу понятно что мутация меняет флаг done и другие поля можно не тянуть. Если модель крупная - это может здорово сэкономить трафик и упростить взаимодействие с фронтом