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