когда использовать явные отношения - дизайн схемы - PullRequest
1 голос
/ 09 февраля 2020

Я размышляю над дизайном схемы в отношении явного и неявного отношения, например, к ...

: в воображаемой схеме с двумя пользовательскими типами author и post, каждый с несколькими свойствами, тип post может ссылаться на автора одним из 2 способов:

  1. явный: имеющий свойство типа автора
  2. неявный: имеющий скалярное значение, которое косвенно указывает на автора

при проектировании шемы. каким должен быть мой компас при принятии такого решения? заранее спасибо

1 Ответ

0 голосов
/ 09 февраля 2020

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

В контексте других служб, подобно REST API, возможно, имеет смысл возвращать только идентификатор или URL-адрес соответствующего ресурса. Это связано с тем, что в этих случаях полезная нагрузка имеет фиксированный размер, поэтому возврат каждого связанного ресурса по умолчанию может быстро и излишне раздувать ответ. Однако в GraphQL полезная нагрузка запроса определяется клиентом, поэтому это не проблема - клиент всегда получит именно то, что запрашивает. Если клиенту требуется только идентификатор автора, он все равно может извлечь только это поле через поле author, позволяя при этом получить более полный объект Author в других запросах или от других клиентов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...